Search in sources :

Example 1 with UserInfo

use of com.neo.entity.UserInfo in project spring-boot-examples by ityouknow.

the class MyShiroRealm method doGetAuthorizationInfo.

@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    System.out.println("权限配置-->MyShiroRealm.doGetAuthorizationInfo()");
    SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
    UserInfo userInfo = (UserInfo) principals.getPrimaryPrincipal();
    for (SysRole role : userInfo.getRoleList()) {
        authorizationInfo.addRole(role.getRole());
        for (SysPermission p : role.getPermissions()) {
            authorizationInfo.addStringPermission(p.getPermission());
        }
    }
    return authorizationInfo;
}
Also used : SimpleAuthorizationInfo(org.apache.shiro.authz.SimpleAuthorizationInfo) SysRole(com.neo.entity.SysRole) UserInfo(com.neo.entity.UserInfo) SysPermission(com.neo.entity.SysPermission)

Example 2 with UserInfo

use of com.neo.entity.UserInfo in project spring-boot-examples by ityouknow.

the class MyShiroRealm method doGetAuthenticationInfo.

/*主要是用来进行身份认证的,也就是说验证用户输入的账号和密码是否正确。*/
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
    System.out.println("MyShiroRealm.doGetAuthenticationInfo()");
    // 获取用户的输入的账号.
    String username = (String) token.getPrincipal();
    System.out.println(token.getCredentials());
    // 通过username从数据库中查找 User对象,如果找到,没找到.
    // 实际项目中,这里可以根据实际情况做缓存,如果不做,Shiro自己也是有时间间隔机制,2分钟内不会重复执行该方法
    UserInfo userInfo = userInfoService.findByUsername(username);
    System.out.println("----->>userInfo=" + userInfo);
    if (userInfo == null) {
        return null;
    }
    SimpleAuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo(// 用户名
    userInfo, // 密码
    userInfo.getPassword(), // salt=username+salt
    ByteSource.Util.bytes(userInfo.getCredentialsSalt()), // realm name
    getName());
    return authenticationInfo;
}
Also used : SimpleAuthenticationInfo(org.apache.shiro.authc.SimpleAuthenticationInfo) UserInfo(com.neo.entity.UserInfo)

Aggregations

UserInfo (com.neo.entity.UserInfo)2 SysPermission (com.neo.entity.SysPermission)1 SysRole (com.neo.entity.SysRole)1 SimpleAuthenticationInfo (org.apache.shiro.authc.SimpleAuthenticationInfo)1 SimpleAuthorizationInfo (org.apache.shiro.authz.SimpleAuthorizationInfo)1