From 28aaf2ffa1dbb860a292ba330a7e9362e60e7832 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: Fri, 12 Jul 2024 16:41:03 +0800
Subject: [PATCH] update
---
assess-framework/src/main/java/com/gkhy/assess/framework/shiro/realm/UserRealm.java | 26 +++++++++++++++++++-------
1 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/realm/UserRealm.java b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/realm/UserRealm.java
index 18ba914..5a55de1 100644
--- a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/realm/UserRealm.java
+++ b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/realm/UserRealm.java
@@ -1,8 +1,11 @@
package com.gkhy.assess.framework.shiro.realm;
+import com.gkhy.assess.common.domain.CustomerUsernamePasswordToken;
+import com.gkhy.assess.common.enums.UserIdentityEnum;
import com.gkhy.assess.common.utils.RequestUtil;
import com.gkhy.assess.common.utils.SpringContextUtils;
-import com.gkhy.assess.framework.shiro.JwtToken;
+import com.gkhy.assess.common.domain.JwtToken;
+import com.gkhy.assess.common.utils.StringUtils;
import com.gkhy.assess.framework.shiro.service.SysLoginService;
import com.gkhy.assess.system.domain.SysUser;
import lombok.extern.slf4j.Slf4j;
@@ -37,8 +40,17 @@
Set<String> roles=new HashSet<>();
Set<String> menus=new HashSet<>();
SimpleAuthorizationInfo info=new SimpleAuthorizationInfo();
- info.addRole("admin");
- info.addStringPermission("*:*:*");
+ if(sysUser.getIdentity().equals(UserIdentityEnum.MONITOR.getCode())){
+ info.addRole("monitor");
+ info.addStringPermission("system:assess:monitor");
+ }else if(sysUser.getIdentity().equals(UserIdentityEnum.AGENCY.getCode())){
+ info.addRole("agency");
+ info.addStringPermission("system:assess:agency");
+ }else{
+ info.addRole("expert");
+ info.addStringPermission("system:assess:expert");
+ }
+
return info;
}
@@ -50,11 +62,11 @@
*/
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
+ HttpServletRequest req = SpringContextUtils.getHttpServletRequest();
SysUser sysUser=null;
if(authenticationToken instanceof JwtToken){
String token= (String) authenticationToken.getCredentials();
- if(token==null){
- HttpServletRequest req = SpringContextUtils.getHttpServletRequest();
+ if(StringUtils.isBlank(token)){
log.info("————————身份认证失败——————————IP地址: "+ RequestUtil.getRequestIp(req) +",URL:"+req.getRequestURI());
throw new AuthenticationException("token为空!");
}
@@ -63,10 +75,10 @@
return new SimpleAuthenticationInfo(sysUser,token,this.getName());
}
}else{
- UsernamePasswordToken upToken = (UsernamePasswordToken) authenticationToken;
+ CustomerUsernamePasswordToken upToken = (CustomerUsernamePasswordToken) authenticationToken;
String username = upToken.getUsername();
String password=new String(upToken.getPassword());
- sysUser=sysLoginService.login(username,password);
+ sysUser=sysLoginService.login(username,password,upToken.getIdentity());
if(sysUser!=null){
return new SimpleAuthenticationInfo(sysUser,password,this.getName());
}
--
Gitblit v1.9.2