¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.limslaboratory.shiro.realm; |
| | | |
| | | import com.yuanchu.limslaboratory.pojo.User; |
| | | import com.yuanchu.limslaboratory.service.UserService; |
| | | import com.yuanchu.limslaboratory.utils.SpringUtil; |
| | | import org.apache.shiro.authc.*; |
| | | import org.apache.shiro.authz.AuthorizationInfo; |
| | | import org.apache.shiro.realm.AuthorizingRealm; |
| | | import org.apache.shiro.subject.PrincipalCollection; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | public class ShiroRealm extends AuthorizingRealm { |
| | | |
| | | public User user; |
| | | |
| | | /** |
| | | * éå®è¿ä¸ª Realm åªå¤ç UsernamePasswordToken |
| | | */ |
| | | @Override |
| | | public boolean supports(AuthenticationToken token) { |
| | | return token instanceof UsernamePasswordToken; |
| | | } |
| | | |
| | | @Override |
| | | protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) { |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) { |
| | | String principal = (String) authenticationToken.getPrincipal(); |
| | | //è·åUserService对象 |
| | | UserService userService = SpringUtil.getBean(UserService.class); |
| | | user = userService.AccordingUsernameSelectAll(principal); |
| | | if (!ObjectUtils.isEmpty(user)) { |
| | | return new SimpleAuthenticationInfo(user.getAccount(), user.getPassword(), this.getName()); |
| | | } else { |
| | | throw new UnknownAccountException(); |
| | | } |
| | | } |
| | | } |