The configuration of jaas realm needs two things:

1) Have the environment variable

     java.security.auth.login.config

defined to a file that contains some definitions...

2) Have the so called file in a place accessible to tomcat, with the jaas 
configuration.

The solution I've used in my tomcat installation was:

1) alter %TOMCAT_HOME%/bin/catalina.bat to add the following line (in Unix 
it should be something similar);

set JAVA_OPTS=%JAVA_OPTS% 
-Djava.security.auth.login.config==%CATALINA_HOME%/conf/jaas.conf

2) put the file "jaas.conf" inside the %TOMCAT_HOME%/conf.

jaas.conf contents:

portalxxx {
   xxx.portal.security.LoginModule required debug=true;
};


This done, in the server.xml file I have the following node:

      <Realm className="org.apache.catalina.realm.JAASRealm"
                appName="portalxxx"
                userClassNames="xxx.portal.security.UserPrincipal"
                roleClassNames="xxx.portal.security.RolePrincipal"
                      debug="99"/>

These classes, xxx.portal.security.LoginModule, 
xxx.portal.security.UserPrincipal and xxx.portal.security.RolePrincipal 
are all implementations of the homonimous JAAS interface definitions.

Hope it helps... 


shahab <[EMAIL PROTECTED]> wrote on 05/03/2007 16:16:41:

> 
> Hi:
> I am trying to implement authentication and authorization using 
JAASRealm.
> (I am following the instruction provided at -
> http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html).
> 
> I have the following issue -
> I have created a class extending Principal for the role. I am setting 
the
> right name of the role (which I fetch from DB) and add the class to 
Subject.
> I have also made entries in server.xml as follows (i set debug to 0 
hoping
> for more debug info) -
> <Realm className="org.apache.catalina.realm.JAASRealm" 
>                    appName="TMSLogin" 
>        userClassNames="tms.core.authentication.TMSPrincipal" 
>        roleClassNames="tms.core.authentication.TMSRoles" 
>                          debug="0"/>
> 
> my entry in web.xml is the following -
> <security-constraint>
>            <display-name>AdminConstraint</display-name>
>            <web-resource-collection>
>                <web-resource-name>TMSAdmin</web-resource-name>
>                <description>Only for administrators</description>
>                <url-pattern>/admin/*</url-pattern>
>                <http-method>GET</http-method>
>                <http-method>POST</http-method>
>            </web-resource-collection>
>            <auth-constraint>
>                <description/>
>                <role-name>ADMIN</role-name>
>            </auth-constraint>
>      </security-constraint>
> 
> 
>        <security-role>
>            <description>ADMIN</description>
>            <role-name>ADMIN</role-name>
>        </security-role>
> 
> the getName() of the TMSRoles instance returns "ADMIN", which should 
allow
> url /admin/*.
> 
> However, I am still getting HTTP 403.
> 
> Please help.
> 
> thanx
> Shahab
> -- 
> View this message in context: http://www.nabble.com/how-to-set-role-
> for-JAASRealm-tf3351040.html#a9318370
> Sent from the Struts - User mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

Reply via email to