I have a method in a session bean called JobServiceBean. The method is as follows:
@RolesAllowed("Recruiter") public void outputJunk() { System.out.println("#######"); } Now after authentication using JAAS, I am writing code to change the @RolesAllowed from "Recruiter" to "Hiring Manager" as follows: EJBMethodPermission ejbmp = new EJBMethodPermission("JobServiceBean",""); PolicyConfigurationFactory pcf = PolicyConfigurationFactory.getPolicyConfigurationFactory(); PolicyConfiguration pc = pcf.getPolicyConfiguration("kr.jar", false); pc.removeRole("Recruiter"); pc.addToRole("Hiring Manager", ejbmp); pc.commit(); IMHO once commit is called, the @RolesAllowed is now changed from "Recruiter" to "Hiring Manager" so when a user with the role "Hiring Manager" tries to run outputJunk() method in JobServiceBean he should be able to do it. But I am getting an Exception as follows: 19:10:52,711 ERROR [RoleBasedAuthorizationInterceptor] Insufficient permissions, principal=admin, requiredRoles=[Recruiter], principalRoles=[Hiring Manager] 19:10:59,305 ERROR [STDERR] javax.ejb.EJBAccessException: Authorization failure 19:10:59,305 ERROR [STDERR] at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptor.invoke(RoleBasedAuthorizationInterceptor.java:104) 19:10:59,305 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 19:10:59,305 ERROR [STDERR] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78) 19:10:59,305 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 19:10:59,321 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47) 19:10:59,321 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 19:10:59,321 ERROR [STDERR] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) 19:10:59,321 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 19:10:59,321 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:181) 19:10:59,321 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79) 19:10:59,321 ERROR [STDERR] at $Proxy90.outputJunk(Unknown Source) 19:10:59,321 ERROR [STDERR] at com.kenexa.kr.web.LoginControllerBean.login(LoginControllerBean.java:118) 19:10:59,321 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 19:10:59,321 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 19:10:59,321 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 19:10:59,321 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source) 19:10:59,336 ERROR [STDERR] at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129) 19:10:59,336 ERROR [STDERR] at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63) 19:10:59,336 ERROR [STDERR] at oracle.adf.view.faces.component.UIXCommand.broadcast(UIXCommand.java:211) 19:10:59,336 ERROR [STDERR] at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90) 19:10:59,336 ERROR [STDERR] at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164) 19:10:59,336 ERROR [STDERR] at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:316) 19:10:59,336 ERROR [STDERR] at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86) 19:10:59,336 ERROR [STDERR] at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106) 19:10:59,336 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) 19:10:59,336 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 19:10:59,336 ERROR [STDERR] at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:356) 19:10:59,352 ERROR [STDERR] at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:325) 19:10:59,352 ERROR [STDERR] at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:190) 19:10:59,352 ERROR [STDERR] at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87) 19:10:59,352 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 19:10:59,352 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 19:10:59,352 ERROR [STDERR] at org.apache.myfaces.webapp.Filter.doFilter(Filter.java:202) 19:10:59,352 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 19:10:59,352 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 19:10:59,352 ERROR [STDERR] at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122) 19:10:59,352 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 19:10:59,368 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 19:10:59,368 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 19:10:59,368 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 19:10:59,368 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 19:10:59,368 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 19:10:59,368 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) 19:10:59,368 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) 19:10:59,368 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 19:10:59,368 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 19:10:59,368 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 19:10:59,368 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 19:10:59,383 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 19:10:59,383 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 19:10:59,383 ERROR [STDERR] at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) 19:10:59,383 ERROR [STDERR] at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) 19:10:59,383 ERROR [STDERR] at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) 19:10:59,383 ERROR [STDERR] at java.lang.Thread.run(Unknown Source) 19:10:59,399 ERROR [STDERR] Caused by: java.lang.SecurityException: Insufficient permissions, principal=admin, requiredRoles=[Recruiter], principalRoles=[Hiring Manager] 19:10:59,399 ERROR [STDERR] at org.jboss.aspects.security.RoleBasedAuthorizationInterceptor.invoke(RoleBasedAuthorizationInterceptor.java:150) 19:10:59,399 ERROR [STDERR] at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptor.invoke(RoleBasedAuthorizationInterceptor.java:100) 19:10:59,399 ERROR [STDERR] ... 53 more Am i doing anything wrong?? or am I missing something?? -P View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3964054#3964054 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3964054 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user