Пример #1
0
 /** 授权查询回调函数, 进行鉴权但缓存中无用户的授权信息时调用. */
 @Override
 protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
   ShiroUser shiroUser = (ShiroUser) principals.getPrimaryPrincipal();
   User user = accountService.findUserByLoginName(shiroUser.loginName);
   SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
   info.addRoles(user.getRoleList());
   return info;
 }
Пример #2
0
 /** 认证回调函数,登录时调用. */
 @Override
 protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken)
     throws AuthenticationException {
   UsernamePasswordToken token = (UsernamePasswordToken) authcToken;
   User user = accountService.findUserByLoginName(token.getUsername());
   if (user != null) {
     byte[] salt = Encodes.decodeHex(user.getSalt());
     return new SimpleAuthenticationInfo(
         new ShiroUser(user.getId(), user.getLoginName(), user.getName()),
         user.getPassword(),
         ByteSource.Util.bytes(salt),
         getName());
   } else {
     return null;
   }
 }