B.I.N.G.O!!! 

I didnt have any exception about it, just make it implement serializable
and it works!! 

you make my day, thanka again Brian 

my best regards 

Simeo Reig 

> 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 [1] = 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(),userPrincipal.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.au [2]thc.PassThruAuthenticationFilter
> securityManager.rememberMeManager.cookie.name [1] = 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>

 

Links:
------
[1] http://securityManager.rememberMeManager.cookie.name
[2] http://org.apache.shiro.web.filter.au

Reply via email to