On Dec 27, 2006, at 11:15 AM, [EMAIL PROTECTED] wrote:

Thanks for the response.  I'm using geronimo 1.1.1 so the password
hashing will have to wait for now. That just leaves me with the mapping
in the geronimo-web.xml.

Hopefully I'll get this right and won't have to step backward to stand
alone Tomcat.

So here goes.

I have three roles defined in my web.xml: PublicAccessRole,
RestrictedAccessRole, ApplicationAdministrativeRole.  The
RestrictedAccessRole will expand to a more granular makeup over time.
These roles have been utilized in the web.xml to define
security-constraints on the specific URL patterns.

I have a users table, with user names and passwords, along with a
user_roles table that defines the user and role combination.  Do the
roles defined in the SQL table need to be the same as the role names
used in the web.xml, or is this the whole point of defining the role
mappings in the geronimo.xml? (A layer of abstraction between the web
app and the container)  I think this is what you are saying happens:)

exactly


At that point I can easily define the mappings between my web app and
tables.  Do I only need to do this role mapping for the
GeronimoGroupPrincipal?

yes

The examples I've followed from DeveloperWorks
also utilize GeronimoUserPrinicipal which is what initially confused me.
 I think they may have been defining hard coded users in the
geronimo-web.xml at that point that circumvent the database table
users.  Do I need to define any GeronimoUserPrincipal definitions in
the geronimo-web.xml?

Not unless you want to give particular users particular app roles.

Also, I presume that I should probably define my PublicAccessRole or a
NoAccessRole as the default-principal.

that sounds reasonable.

Where can I find documentation on the Group/User roles and there usage
in the geronimo containers?

It's a bit difficult to figure out how to document in general since the principal-role mapping is completely generic and our provided login modules, while working fine, are not particularly sophisticated. In particular there isn't very good management of the identity store in back of our login modules (e.g. the tables the jndi login module uses). We've sort of assumed that most users will have a corporate identity management solution in place that comes with one or more login modules that provide non-geronimo-centric principals that need to be mapped to the app roles, so that's what the geronimo security principal-role mapping xml is for.

There's also (theoretically) an option to completely replace the jacc subsystem with another jacc provider. I've been looking at adapting the apache directory triplesec project for this purpose.


Thanks for the help.  I'd be interesting in putting together a public
tutorial on this after I get it completely figured out.


All documentation is more than welcome!!

thanks
david jencks

-------- Original Message --------
Subject: Re: JDBC Realms and geronimo-web.xml
From: "Vamsavardhana Reddy" <[EMAIL PROTECTED]>
Date: Tue, December 26, 2006 8:01 pm
To: [email protected]

Hi Mark,

Which version of Geronimo are you using? The "digest=..." option is supported in 1.2 and not in any previous versions.

Regarding the security constraints, you will typically define one group per role for each the roles defined in web.xml and use a GeronimoGroupPrincipal with the group name in the role-mapping section of geronimo-web.xml . The role-mapping section in your geronimo-web.xml will look similar to the following:

   <security>
       <role-mappings>
<role role-name="admin"> <!-- This role-name is defined in web.xml --> <principal class="org.apache.geronimo.security.realm.providers.GeronimoGroupPrin cipal" name="admin-group"/> <!-- This value in the name attribute is from group mapping in your JDBC realm, i.e., from the entries in groups table. -->
           </role>
       </role-mappings>
   </security>

 Let me know if this helps or if you need more details.

 Vamsi

On 12/27/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: Hi All. A relatively novice geronimo user here. i'm woking on using a security realm to define access in a web application. I've successfully installed geronimo (tomcat web container), configured a database pool to a MySQL database, and configured a JDBC Realm to the databse pool that
succesfully authenticated at the completion of the security realm
 wizard.

I have my Security Roles and Constraints along with the Login-Config
defined in my web.xml.  I'm kind of lost on how the app roles defined
in the web.xml and the roles defined in the user role table get tied
together in the geronimo-web.xml.  Can someone point me to a
tutorial/documentation on this?  I've looked in the geronimo
docmentation without success.  Also, I've been following the IBM
DeveloperWorks articles on this, but they don't cover this aspect.

Additionally, what's the appropriate method to turn on password digest
hashing when using the JDBC Realm wizard?  I presume that a
configuration option property like digest=MD5 might work?

Thanks to all!  I'm really enjoying working with Geronimo.

Mark Aufdencamp
[EMAIL PROTECTED]





Reply via email to