Hi All,

what is the reason that, when lc.login() is not giving any authentication
exception, and when i try to call home.create() gives this exception?

Details:


I am really desperate to solve this trouble. I am using JBoss2.4.4 Tomcat
3.2.3 and trying to implement UsersRolesLoginModule.
I have given security-domain tag in jboss.xml:

<security-domain>java:/jaas/print</security-domain>

and for this i have a corresponding auth.conf entry:

print {

    org.jboss.security.auth.spi.UsersRolesLoginModule required
    unauthenticatedIdentity=nobody
        ;
};


and the auth.conf for client is 

other {
    // Put your login modules that work without jBoss here

    // jBoss LoginModule
    org.jboss.security.ClientLoginModule  required;

    // Put your login modules that need jBoss here
};

Is this enough to bind the security manager with jndi-name java:/jaas/print
?
I have this doubt b'cos in server console i get like this:

2002-06-05 23:56:00,685  INFO - startService, securityMgrCtxPath=java:/jaas
2002-06-05 23:56:00,685  INFO - startService,
cachePolicyCtxPath=java:/timedCacheFactory
2002-06-05 23:56:00,685  INFO - startService,
SecurityProxyFactory=org.jboss.security.SubjectSecurityProxyFactory@409554

Also,

I have  code piece calling the lookup() method like:

                        OrgMgrHome home = (OrgMgrHome)lookUp("OrgMgr",
OrgMgrHome.class);
                        return home.create();


My Code for lookup() method does this:

                        LoginContext lc = new LoginContext("other", new
CallHandler(userName, pass));
                        lc.login();

                        Subject sub = lc.getSubject();

                        System.out.println("Subject is " + sub.toString());

                        java.util.Set set = sub.getPrincipals();
                        System.out.println("set size is " + set.size());

                        java.util.Iterator it = set.iterator();
                        while(it.hasNext())
                        {
                                Principal p = (Principal) it.next();
                                System.out.println("Principal is " +
p.getName());
                        }

                        Properties props = new Properties();
                        props.put(Context.INITIAL_CONTEXT_FACTORY,
initialContextFactory);
                        if (urlString != null)
                        {
                                if (isDebugOn())
                                        {
        
Log.debug("getInitialContext: urlString=" + urlString);
                                        }       
                        props.put(Context.PROVIDER_URL, urlString);
                        return new InitialContext(props);
                        }


My CallbackHandler implementation is :

        public void handle(Callback[] callback)
        {

                try
                {
                        for(int i=0; i<callback.length; i++)
                        {
                                if(callback[i] instanceof NameCallback)
                                {
                                        text = (NameCallback) callback[i];
                                        text.setName(userName);
                                        System.out.println("text value is "
+ text);
                                }
                                if(callback[i] instanceof PasswordCallback)
                                {
                                        passwd = (PasswordCallback)
callback[i];
                                        passwd.setPassword(password);
                                        System.out.println("passwd value is
" + passwd);
                                }
                        }

                        System.out.println("Finished handle method in
CallHandler");

                }catch(Exception e)
                {
                        e.printStackTrace();
                        System.out.println("Authentication failed
........");
                }
        }

and my users.properties has 

appuser=4colorprint

and roles.properties has 

appuser.myrolegroup=administrator

I have given method permissions in ejb-jar.xml like:

<assembly-descriptor>

        <security-role>
            <role-name>admin</role-name>
        </security-role>
                
        <method-permission>
            <role-name>admin</role-name>
            <method>
                <ejb-name>OrgMgr</ejb-name>
                <method-name>*</method-name>
            </method>
        </method-permission>
        .
        .
        .
</assembly-descriptor>

when i am trying to access the bean, it gives, 

Subject is Subject:
        Principal: appuser
        Principal: Roles
        Principal: myrolegroup

set size is 3
Principal is appuser
Principal is Roles
Principal is myrolegroup

2002-06-05 23:56:44,371 ERROR - Insufficient method permissions,
principal=null, method=create, requiredRoles=[admin], principalRoles=
[]
java.rmi.RemoteException: checkSecurityAssociation; nested exception is:
        java.lang.SecurityException: Insufficient method permissions,
principal=null, method=create, requiredRoles=[admin], principalR
oles=[]
java.lang.SecurityException: Insufficient method permissions,
principal=null, method=create, requiredRoles=[admin], principalRoles=[]
        at
org.jboss.ejb.plugins.SecurityInterceptor.checkSecurityAssociation(SecurityI
nterceptor.java:231)
        at
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.jav
a:91)
        at
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:103)
        at
org.jboss.ejb.StatelessSessionContainer.invokeHome(StatelessSessionContainer
.java:268)
        at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invokeHome(JRMPContai
nerInvoker.java:456)
        at
org.jboss.ejb.plugins.jrmp.interfaces.HomeProxy.invokeHome(HomeProxy.java:23
7)
        at
org.jboss.ejb.plugins.jrmp.interfaces.HomeProxy.invoke(HomeProxy.java:182)
        at $Proxy127.create(Unknown Source)
        at com.zeborg.print.web.OrgMgrWB.getRemoteRef(OrgMgrWB.java:111)
        at com.zeborg.print.web.OrgMgrWB.getUserOrg(OrgMgrWB.java:247)
        at
jsp.zeborg.sso._0002fjsp_0002fzeborg_0002fsso_0002flogin_0002dprint_0002ejsp
login_0002dprint_jsp_21._jspService(_0002fjsp_0
002fzeborg_0002fsso_0002flogin_0002dprint_0002ejsplogin_0002dprint_jsp_21.ja
va:255)
        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.jasper.servlet.JspServlet$JspCountedServlet.service(JspServlet.ja
va:130)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:282)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
        at org.apache.tomcat.core.Handler.service(Handler.java:287)
        at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:81
2)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:213)
        at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
        at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
        at java.lang.Thread.run(Thread.java:484)

what is the reason that, when lc.login() is not giving any authentication
exception, and when i try to call home.create() gives this exception?
Warm Regards,
Deepa Annamalai
Virtusa (Pvt) Ltd.,
3rd Floor, My Home Tycoon, 
Begumpet,
Hyderabad, AP 
India - 500 016.
+91-40-3414200 ext 135/136
[EMAIL PROTECTED]


_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to