Hi I am working on a similar problem. I want to login a special user automatically to the portal the first time a user access it (lets say "user" in the below code).
I created a custom tomcat valve using the code described below. However the user is not authorized to access his dashboard (or any other /auth pages). I know I am missing something but can't put my finger on it. I am using the standard JAAS IdentityLoginModule. I see that the Principal returned by the JBossSecurityMgrRealm is always null (becuase the security context is null). Please help me. I have been breaking my head over this for a long time. I have read documentations and other posts on the forum but nothing is working for me. Thanks, Swati | package org.jboss.web.tomcat.security; | | import .. | | /** A valve that provides information on the jaas login exception seen in the | SecurityAssociation exception data. The useExceptionAsMsg flag indicates if | the exception message should be set as the http response message. The | exceptionHeader attribute if set is the header name that should be populated | with the exception message. | | @author [EMAIL PROTECTED] | @version $Revision: 57206 $ | */ | public class BasicAuthValve | extends ValveBase | { | private static Logger log = Logger.getLogger(BasicAuthValve.class); | private static boolean trace = log.isTraceEnabled(); | | /** Should the exception message be used as the request status message */ | private boolean useExceptionAsMsg = false; | /** A flag indicating if the auth exception thread local should be cleared */ | private boolean clearAuthException = true; | /** The name of the reply header to use to return the exception message */ | private String exceptionHeader = null; | | public boolean isUseExceptionAsMsg() | { | return useExceptionAsMsg; | } | public void setUseExceptionAsMsg(boolean useExceptionAsMsg) | { | this.useExceptionAsMsg = useExceptionAsMsg; | } | | public String getExceptionHeader() | { | return exceptionHeader; | } | public void setExceptionHeader(String exceptionHeader) | { | this.exceptionHeader = exceptionHeader; | } | | public void invoke(Request request, Response response) | throws IOException, ServletException | { | // TODO Auto-generated method stub | List roles = new ArrayList(); | roles.add("Authenticated"); | roles.add("User"); | roles.add("Admin"); | roles.add("CustomRole"); | | String password = "user"; | String username = "user"; | | Principal p = this.getContainer().getRealm().authenticate(username, (String)null); | request.setUserPrincipal(new GenericPrincipal(request.getContext().getRealm(), username, password, roles)); | | this.getNext().invoke(request, response); | | } | | } View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4135808#4135808 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4135808 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user