Is your 'User' object serializable ? Do you have any exceptions in your log related to that?
On Wed, Feb 22, 2017 at 3:12 PM, Simeó Reig <[email protected]> wrote: > If I choose "remember me" in login form it's true, and viceversa, as it > should be. > > As I've just said before implementing custom realm I could see "shiroTest" > cookie when I activated remember me > > Nothing has changed, besides shiro.ini > > > Thanks > > --------------------------- > > original shiro.ini It works > > --------------------------- > > [main] > authc.loginUrl = /faces/login.xhtml > user.loginUrl = /faces/login.xhtml > authc = org.apache.shiro.web.filter.authc.PassThruAuthenticationFilter > > [users] > admin = secret,admin > simeo = secret2,user > > [roles] > admin = * > user = usuaris:* , ventes:edicio, ventes:delete > user_grant = ventes:canvi > > [urls] > /faces/admin/index.xhtml=user > /faces/admin/protected.xhtml = user,roles[admin] > > --------------------------------- > New shiro.ini (does not work rememberMe functionallity) > --------------------------------- > > > [main] > authc.loginUrl = /faces/login.xhtml > user.loginUrl = /faces/login.xhtml > > adronicaRealm = com.mycompany.shirofaces.myRealm > > authc = org.apache.shiro.web.filter.authc.PassThruAuthenticationFilter > securityManager.rememberMeManager.cookie.name = shiroTest > securityManager.realms = $adronicaRealm > > [roles] > admin = * > user = usuaris:* , ventes:edicio, ventes:delete > user_grant = ventes:canvi > > > > [urls] > /faces/admin/index.xhtml=user > /faces/admin/protected.xhtml = user,roles[admin] > > > > > > > > > > > A 22-02-2017 20:46, Brian Demers escrigué: > > You don't need to do anything in your realm. Has something else changed > other then your realm? > > What does your "System.out.println("isRememberMe Activated ===> " + > upToken.isRememberMe());" line print? > > On Wed, Feb 22, 2017 at 2:16 PM, Simeó Reig <[email protected]> > wrote: > >> Hello All >> >> We had a shiro web JSF app working smoothless, but we need to have an >> own Realm, therefore we extended AuthorizingRealm. The system works but now >> rememberMe function does not work, shiro does not create the cookie. >> >> Must we implement rememberMe function too if we implemented our Realm?? >> how? >> >> >> Many thanks in advance >> >> >> ---------------- >> >> Our custom realm >> >> ----------------- >> >> >> public class myRealm extends AuthorizingRealm { >> >> >> @Override >> protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection >> principals) { >> Set<String> roles = new HashSet<>(); >> Collection<User> principalsList = principals.byType(User.class); >> >> if (principalsList.isEmpty()) throw new >> AuthorizationException("Empty principals list!"); >> >> for (User userPrincipal : principalsList) { >> try { >> User user = new User(userPrincipal.getId(),use >> rPrincipal.getName(),userPrincipal.getPassword()); >> List<Role> userRoles = user.getRoles(); >> for (Role r : userRoles) {roles.add(r.getName()); >> } >> } catch (Exception rEx) { >> throw new AuthorizationException(rEx); >> } >> } >> >> SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(roles) >> ; >> info.setRoles(roles); //fill in roles >> return info; >> } >> >> @Override >> protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken >> token) throws AuthenticationException { >> >> UsernamePasswordToken upToken = (UsernamePasswordToken) token; >> >> System.out.println("isRememberMe Activated ===> " + >> upToken.isRememberMe()); >> >> User user = new User(1,upToken.getUsername(),"password"); >> >> if (user == null) {throw new AuthenticationException("Login name >> [" + upToken.getUsername() + "] not found!");} >> >> return new SimpleAuthenticationInfo(user, user.getPassword(), >> ByteSource.Util.bytes(user.getSalt()), getName()); >> } >> >> } >> >> >> --------- >> >> shiro.ini >> >> --------- >> >> [main] >> authc.loginUrl = /faces/login.xhtml >> user.loginUrl = /faces/login.xhtml >> >> adronicaRealm = com.adronica.shirofaces.myRealm >> >> authc = org.apache.shiro.web.filter.authc.PassThruAuthenticationFilter >> securityManager.rememberMeManager.cookie.name = shiroTest >> securityManager.realms = $adronicaRealm >> >> [urls] >> /faces/admin/index.xhtml=user >> /faces/admin/protected.xhtml = user,roles[admin] >> >> >> >> ------ >> >> pom.xml >> >> --------- >> >> <dependencies> >> >> <dependency> >> <groupId>javax</groupId> >> <artifactId>javaee-web-api</artifactId> >> <version>7.0</version> >> <scope>provided</scope> >> </dependency> >> >> <dependency> >> <groupId>org.apache.shiro</groupId> >> <artifactId>shiro-core</artifactId> >> <version>1.4.0-RC2</version> >> </dependency> >> >> <dependency> >> <groupId>org.apache.shiro</groupId> >> <artifactId>shiro-web</artifactId> >> <version>1.4.0-RC2</version> >> </dependency> >> >> <dependency> >> <groupId>org.apache.shiro</groupId> >> <artifactId>shiro-faces</artifactId> >> <version>2.0</version> >> </dependency> >> >> <dependency> >> <groupId>org.omnifaces</groupId> >> <artifactId>omnifaces</artifactId> >> <version>2.6</version> >> </dependency> >> >> <dependency> >> <groupId>commons-logging</groupId> >> <artifactId>commons-logging</artifactId> >> <version>1.2</version> >> </dependency> >> >> <dependency> >> <groupId>org.primefaces</groupId> >> <artifactId>primefaces</artifactId> >> <version>6.0</version> >> </dependency> >> >> </dependencies> >> > >
