Thanks for jumping in Armando. My web.xml look like the following, followed by my realm. The login page is the same that shipped with the example. I am running it under glassfish 3, compliant with the j2ee 6 spec. The realm does get invoked but then it doesn't load the resource under /account/* but just redisplays the same login page.
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <context-param> <param-name>javax.faces.PROJECT_STAGE</param-name> <param-value>Development</param-value> </context-param> <filter> <filter-name>ShiroFilter</filter-name> <filter-class>org.apache.shiro.web.servlet.IniShiroFilter</filter-class> <init-param> <param-name>config</param-name> <param-value> [main] matcher = org.apache.shiro.authc.credential.Sha256CredentialsMatcher mmer = prototype.security.shiro.realm.TreeRealm mmer.credentialsMatcher = $matcher [users] [roles] [filters] shiro.loginUrl = /login.xhtml shiro.successUrl = /home.xhtml [urls] # The /login.xhtml is not restricted to authenticated users (otherwise no one could log in!), but # the 'authc' filter must still be specified for it so it can process that url's # login submissions. It is 'smart' enough to allow those requests through as specified by the # shiro.loginUrl above. /login.xhtml = authc /account/** = authc, roles[admin] /remoting/** = authc, roles[b2bClient], perms["remote:invoke:lan,wan"] </param-value> </init-param> </filter> <filter-mapping> <filter-name>ShiroFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>Pretty Filter</filter-name> <filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class> </filter> <filter-mapping> <filter-name>Pretty Filter</filter-name> <url-pattern>/u/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>ERROR</dispatcher> </filter-mapping> <servlet> <servlet-name>Resource Servlet</servlet-name> <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class> </servlet> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/u/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Resource Servlet</servlet-name> <url-pattern>/primefaces_resource/*</url-pattern> </servlet-mapping> <persistence-context-ref> <persistence-context-ref-name>persistence/LogicalName</persistence-context-ref-name> <persistence-unit-name>opensocial</persistence-unit-name> </persistence-context-ref> <resource-ref> <res-ref-name>UserTransaction</res-ref-name> <res-type>javax.transaction.UserTransaction</res-type> <res-auth>Container</res-auth> </resource-ref> <session-config> <session-timeout> 30 </session-timeout> </session-config> <welcome-file-list> <welcome-file>index.xhtml</welcome-file> </welcome-file-list> </web-app> <<----------------- TreeRealm.java -------------------->> package prototype.security.shiro.realm; import java.util.logging.Level; import java.util.logging.Logger; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationInfo; import org.apache.shiro.authc.AuthenticationToken; import org.apache.shiro.authc.SimpleAccount; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.authc.credential.Sha256CredentialsMatcher; import org.apache.shiro.authz.AuthorizationInfo; import org.apache.shiro.realm.AuthorizingRealm; import org.apache.shiro.subject.PrincipalCollection; /** * * @author Suhail */ public class TreeRealm extends AuthorizingRealm { private static final Logger LOG = Logger.getLogger(TreeRealm.class.getName()); public TreeRealm(){ setCredentialsMatcher(new Sha256CredentialsMatcher()); setCachingEnabled(false); LOG.log(Level.INFO, "{0} Started", TreeRealm.class.getName()); } @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection pc) { throw new UnsupportedOperationException("Not supported yet."); } @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken at) throws AuthenticationException { UsernamePasswordToken upToken = (UsernamePasswordToken) at; SimpleAccount account = new SimpleAccount(upToken.getUsername(), upToken.getPassword(), getName()); account.addRole("admin"); account.addRole("user"); account.addStringPermission("/account/*:*"); return account; } } Thanks for your help again. Cheers su./hail On Sun, Aug 1, 2010 at 9:10 AM, armandoxxx <[email protected]> wrote: > Some code would be nice ! > > Kind regards > > Armando > > On Sun, Aug 1, 2010 at 4:05 AM, Suhail Manzoor [via Shiro User] <[hidden > email] <http://user/SendEmail.jtp?type=node&node=5360507&i=0>> wrote: > >> Hi, >> >> I have been looking into Shiro to evaluate if it as a candidate for a >> project I am working on. I need to develop a realm which I did from the >> examples. I also need to integrate it with a JSF based application. I did >> the two things along with a login page. I have followed the Shiro web >> example to the letter except for using JSF instead of just jsp. But there >> seems to be a problem. After authenticating, the app doesn't display the >> protected page but keep displaying the login page. I have been trying to >> figure out whats been happening for a couple of days but no avail. Could >> anyone please help me. I really like the clean API shiro has and would like >> to use it going forward. >> >> Thank you very much >> su./hail >> >> >> ------------------------------ >> View message @ >> http://shiro-user.582556.n2.nabble.com/Newbie-stuck-with-his-own-realm-please-help-tp5359975p5359975.html<http://shiro-user.582556.n2.nabble.com/Newbie-stuck-with-his-own-realm-please-help-tp5359975p5359975.html?by-user=t> >> To start a new topic under Shiro User, email [hidden >> email]<http://user/SendEmail.jtp?type=node&node=5360507&i=1> >> To unsubscribe from Shiro User, click here. >> >> > > ------------------------------ > View this message in context: Re: Newbie stuck with his own realm please > help<http://shiro-user.582556.n2.nabble.com/Newbie-stuck-with-his-own-realm-please-help-tp5359975p5360507.html> > Sent from the Shiro User mailing list > archive<http://shiro-user.582556.n2.nabble.com/>at Nabble.com. >
