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>
>>
>
>

Reply via email to