首页>代码>spring+spring boot+mybatis+shiro+thymeleaf实现社区党务后台管理系统>/PartyAffairs/Backstage/src/main/java/com/dai/party/config/realm/BackstageShiroRealm.java
package com.dai.party.config.realm; import com.dai.party.config.CustomCredentialsMatcher; import com.dai.party.config.SpringBeanFactoryUtils; import com.dai.party.pojo.Backstage.BackstageUser; import com.dai.party.service.backstageService.BackstageUserService; import lombok.extern.slf4j.Slf4j; 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.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; /** * @program: partyAffairs * @description: 项目后台配置Shiro继承AuthenticatingRealm类 * @author: Dai Yuanchuan * @create: 2019-01-11 00:24 **/ @Slf4j @Component(value = "ShiroRealm") public class BackstageShiroRealm extends AuthorizingRealm { /** * 项目后台用户服务注入 */ @Autowired private BackstageUserService backstageUserService; /** * 这是授权方法 * @param principalCollection * @return */ @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) { String username = principalCollection.getPrimaryPrincipal().toString(); log.info("============================ username:" + username + " ============================"); return null; } /** * 这是认证方法 * @param token * @return * @throws AuthenticationException */ @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { log.info("doGetAuthenticationInfo------------------登录------------------"); // 手动注入服务 if (backstageUserService == null) { backstageUserService = SpringBeanFactoryUtils.getBean(BackstageUserService.class); } UsernamePasswordToken upToken = (UsernamePasswordToken) token; BackstageUser backstageUser = backstageUserService.lookupToUserName(upToken.getUsername()); if (backstageUser == null) { /* 抛出用户名不存在的异常 */ throw new UnknownAccountException(); } SimpleAuthenticationInfo simpleAuthenticationInfo = new SimpleAuthenticationInfo( backstageUser.getUserName(), backstageUser.getPassword(), getName()); return simpleAuthenticationInfo; } /** * 这是重写加密规则 */ @PostConstruct public void initCredentialsMatcher() { setCredentialsMatcher(new CustomCredentialsMatcher()); } }
最近下载更多
泓鼎168 LV20
6月12日
小温ggggg LV6
2023年10月24日
爱吃鱼的猫Vital LV6
2023年7月31日
suyuquan LV2
2023年7月31日
happyMrLi LV5
2023年7月31日
yunYUN123 LV1
2023年2月26日
taowufeng2 LV8
2022年12月9日
翰昌之杰2 LV6
2022年11月30日
1025490081 LV2
2022年11月9日
wylwylqq LV6
2022年11月6日
最近浏览更多
15719908287 LV9
9月27日
hmf1989
9月26日
暂无贡献等级
lo8lukoukoum LV4
9月26日
happySuperman LV2
6月4日
1941549176 LV4
5月9日
shuangfu LV25
5月7日
刘孟飞 LV19
4月14日
微信网友_6927932988952576 LV12
3月30日
泓鼎168 LV20
3月27日
wbw123 LV5
3月10日