Hello,

I was wondering if anyone familiar with
JBoss could help me with this JAAS and
checkSecurityAssociation problem.
Also, if it helps, this is a relevant
snippet frm ejb-jar.xml, which in indcluded
in the JAR file that is int he EAR file:

    <assembly-descriptor>
        <method-permission>
            <role-name>guest</role-name>
     ...
     ...

Thank you,
Otis

---- On Mon, 18 Nov 2002, otisg
([EMAIL PROTECTED]) wrote:

> Hello,
> 
> I am using JBoss 3.0.4 and trying to perform
> user authentication using JAAS, but I am
> getting the following error:
> 
> Caused by: javax.ejb.EJBException:
> checkSecurityAssociation;
CausedByException is:
>       Authentication exception, principal=admin
>       at
>
org.jboss.ejb.plugins.SecurityInterceptor.checkSecurityAssociation(SecurityInterceptor.java:174)
>       at
>
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:94)
>       at
>
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:129)
>       ... 30 more
> 
> In login-config.xml I have a custom Login
> Module defined.
> In that custom Login Module, which extends
> AbstractServerLoginModule, I have overridden
> methods:
> 
>     protected Principal getIdentity()
>     protected Object getCredentials()
>     protected String getUsername()
>     protected Group[] getRoleSets()
> 
> The body of my login() method looks like this:
> 
>         // if shared credentials exist already
>         if (super.login() == true)
>         {
>             // get the previously set username
>             Object username =
>
sharedState.get("javax.security.auth.login.name");
>             if (username instanceof Principal)
>                 _userPrincipal = (Principal)
> username;
>             else
>             {
>                 // FIXME: OG: throw an
exception
>                 System.out.println("Username
> not instanceof Principal'");
>             }
> 
>             // get the previously set password
>             Object password =
>
sharedState.get("javax.security.auth.login.password");
>             if (password instanceof char[])
>                 _credential = (char[])
password;
>             else if (password != null)
>             {
>                 String tmp =
> password.toString();
>                 _credential =
tmp.toCharArray();
>             }
>             return true;
>         }
> 
>         // if shared credentials DO NOT
> exist yet
>         loginOk = false;
> 
>         // hard-coded to correct
> username/password
>         String username = "admin";
>         String password = "password";
> 
>         // store the username and password
> in the shared state map
>         if (getUseFirstPass() == true)
>         {
>            
>
sharedState.put("javax.security.auth.login.name",
> username);
>            
>
sharedState.put("javax.security.auth.login.password",
> password);
>         }
> 
>         // set AbstractServerLoginModule's
> loginOk instance variable to true, as
>         // instructed by the
> AbstractServerLoginModule's javadoc
>         loginOk = true;
>         return true;
> 
> 
> Does anyone see any mistakes in this code?
> I have looked at UsernamePasswordLoginModule
> and DatabaseServerLoginModule, and the code
> above looks correct to me.
> 
> And here is getRoleSets() method, in case
> that is the culprit:
> 
>     protected Group[] getRoleSets()
>     throws LoginException
>     {
>         HashMap setsMap = new HashMap();
>         String groupName = "Roles";
>         SimpleGroup group = new
> SimpleGroup(groupName);
>         setsMap.put(groupName, group);
>         group.addMember(new
> SimplePrincipal("guest"));
> 
>         Group[] roleSets = new
> Group[setsMap.size()];
>         setsMap.values().toArray(roleSets);
>         return roleSets;
>     }
> 
> This is essentially lifted from
> DatabaseServerLoginModule.
> 
> I've been stuck on this problem for a while
> (too embarrassing to say exactly how long).
> 
> I have enabled DBEUG level logging via
> log4j-config.xml, but I still don't see
> anything that would help me figure out what
> the source of the problem is.
> 
> Ladies and gentlemen, your donations will be
> greatly appreciated.
> (Can anyone from NYC recognize the blind
> subway musician usually riding the N line? 
> The above is his line. :))
> 
> Thank you,
> Otis
> 
> 
>
________________________________________________
> Get your own "800" number
> Voicemail, fax, email, and a lot more
> http://www.ureach.com/reg/tag
> 
> 
>
-------------------------------------------------------
> This sf.net email is sponsored by: To
learn the basics of securing 
> your web site with SSL, click here to get
a FREE TRIAL of a Thawte 
> Server Certificate:
http://www.gothawte.com/rd524.html
>
_______________________________________________
> JBoss-user mailing list
> [EMAIL PROTECTED]
>
https://lists.sourceforge.net/lists/listinfo/jboss-user
> 
> 


________________________________________________
Get your own "800" number
Voicemail, fax, email, and a lot more
http://www.ureach.com/reg/tag


-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing 
your web site with SSL, click here to get a FREE TRIAL of a Thawte 
Server Certificate: http://www.gothawte.com/rd524.html
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to