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(),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 [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

Reply via email to