From d8a687741273d121586b83745280c57f7e9d3297 Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期一, 07 八月 2023 17:51:28 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/yuanchu_code/lims-management-system --- user-server/src/main/java/com/yuanchu/limslaboratory/shiro/realm/ShiroRealm.java | 41 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-) diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/shiro/realm/ShiroRealm.java b/user-server/src/main/java/com/yuanchu/limslaboratory/shiro/realm/ShiroRealm.java new file mode 100644 index 0000000..24b24b1 --- /dev/null +++ b/user-server/src/main/java/com/yuanchu/limslaboratory/shiro/realm/ShiroRealm.java @@ -0,0 +1,41 @@ +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(); + } + } +} -- Gitblit v1.9.3