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