授权功能开发

This commit is contained in:
mythxb 2023-12-15 16:46:12 +08:00
parent c28f8ebdbd
commit 51e0b74308
5 changed files with 74 additions and 40 deletions

View File

@ -55,7 +55,7 @@ public class LogAspect {
//单位时间内最大访问数
private static final Integer MAX_COUNT = 20;
private static final Integer MAX_COUNT = 50;
//单位时间
private static final Integer UNIT_TIME = 1 * 1000;

View File

@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.common.utils.DateUtils;
import com.common.utils.RandomNumber;
import com.common.utils.StringUtils;
import com.common.utils.encryption.PasswdFactory;
import com.common.utils.httpClient.WebUtils;
import com.rzyc.bean.user.auth.GetCode;
@ -73,39 +74,45 @@ public class AuthController extends BaseController{
try {
System.out.println("getCode ----> "+JSONArray.toJSONString(getCode));
String userId = "";
String accessToken = getAccessToken(getCode.getCode());
String userName = getUserName(accessToken);
System.out.println("userName --> "+userName);
SysUser sysUser = sysUserMapper.authUser(unitId,userName);
if(null == sysUser){
sysUser = new SysUser();
sysUser.setSysuserid(RandomNumber.getUUid());
sysUser.setSysusername(userName);
if(StringUtils.isNotBlank(accessToken)){
String userName = getUserName(accessToken);
if(StringUtils.isNotBlank(userName)){
System.out.println("userName --> "+userName);
SysUser sysUser = sysUserMapper.authUser(unitId,userName);
if(null == sysUser){
sysUser = new SysUser();
sysUser.setSysuserid(RandomNumber.getUUid());
sysUser.setSysusername(userName);
ListPerform listPerform = listPerformMapper.selectByPrimaryKey(postId);
if(null != listPerform){
sysUser.setSystitle(listPerform.getListperformid());
sysUser.setPostPath(listPerform.getParentPath());
sysUser.setPostName(listPerform.getParentName());
sysUser.setAreaCode(listPerform.getAreaCode());
sysUser.setAreaPath(listPerform.getAreaPath());
sysUser.setAreaName(listPerform.getAreaPathName());
ListPerform listPerform = listPerformMapper.selectByPrimaryKey(postId);
if(null != listPerform){
sysUser.setSystitle(listPerform.getListperformid());
sysUser.setPostPath(listPerform.getParentPath());
sysUser.setPostName(listPerform.getParentName());
sysUser.setAreaCode(listPerform.getAreaCode());
sysUser.setAreaPath(listPerform.getAreaPath());
sysUser.setAreaName(listPerform.getAreaPathName());
}
String passwdStr = PasswdFactory.encryptPasswd(sysUser.getSysuserid(), sysUser.getSysusername(), passwd);
sysUser.setSyspassword(passwdStr);
sysUser.setModifiedby("用户认证");
sysUser.setCreatedby("用户认证");
sysUser.setChinaname(userName);
sysUser.setModifiedon(new Date());
sysUser.setCreatedon(new Date());
sysUser.setUsertype(UserType.GOV.getType());
sysUser.setState("启用");
sysUser.setUserroles(userRole);
sysUserMapper.insert(sysUser);
}
userId = sysUser.getSysuserid();
}
String passwdStr = PasswdFactory.encryptPasswd(sysUser.getSysuserid(), sysUser.getSysusername(), passwd);
sysUser.setSyspassword(passwdStr);
sysUser.setModifiedby("用户认证");
sysUser.setCreatedby("用户认证");
sysUser.setChinaname(userName);
sysUser.setModifiedon(new Date());
sysUser.setCreatedon(new Date());
sysUser.setUsertype(UserType.GOV.getType());
sysUser.setState("启用");
sysUser.setUserroles(userRole);
sysUserMapper.insert(sysUser);
}
model.addAttribute("userId",sysUser.getSysuserid());
model.addAttribute("userId",userId);
}catch (Exception e){
e.printStackTrace();
}
@ -138,6 +145,7 @@ public class AuthController extends BaseController{
* @date 2023/12/14 16:32
*/
public static String getAccessToken(String code)throws Exception{
String accessToken = "";
// 发送请求
Request request = new Request.Builder()
.url("https://222.209.85.39:1443/authcenter/getOauth2Token?grant_type=authorization_code&client_id="+clientId+"&client_secret="+clientSecret+"&code="+code+"&redirect_uri="+redirectUri)
@ -146,7 +154,10 @@ public class AuthController extends BaseController{
String responseStr = response.body().string();
System.out.println("responseStr --> "+responseStr);
JSONObject jsonObject = JSONObject.parseObject(responseStr);
return jsonObject.get("access_token")+"";
if(null != jsonObject.get("access_token")){
accessToken = jsonObject.get("access_token")+"";
}
return accessToken;
}
/**
@ -156,6 +167,7 @@ public class AuthController extends BaseController{
* @date 2023/12/14 16:30
*/
public static String getUserName(String accessToken)throws Exception{
String userName = "";
Request request = new Request.Builder()
.url("https://222.209.85.39:1443/authcenter/getOauth2UserInfo?access_token="+accessToken+"&client_id="+clientId)
.build();
@ -163,7 +175,10 @@ public class AuthController extends BaseController{
String responseStr = response.body().string();
System.out.println("responseStr --> "+responseStr);
JSONObject jsonObject = JSONObject.parseObject(responseStr);
return jsonObject.get("username")+"";
if(null != jsonObject.get("username")){
userName = jsonObject.get("username")+"";
}
return userName;
}

View File

@ -2,13 +2,10 @@ package com.rzyc.filter;
import com.rzyc.config.RedisUtil;
import org.springframework.context.ApplicationContext;
import org.springframework.core.annotation.Order;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.web.context.support.WebApplicationContextUtils;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
@ -25,7 +22,7 @@ public class IpFilter implements Filter {
//单位时间内最大访问数
private static final Integer MAX_COUNT = 15;
private static final Integer MAX_COUNT = 50;
//单位时间
private static final Integer UNIT_TIME = 1 * 1000;

View File

@ -2,6 +2,22 @@ server:
port: 7010
spring:
redis:
host: 172.27.181.247
password: gzQdzRedis
#host: 127.0.0.1
# 进入哨兵项目-这个端口就不用了,除非是单体
port: 8011
# sentinel:
# master: mymaster
# nodes: 172.27.181.247:26379,172.27.181.247:26380,172.27.181.247:26381
lettuce:
pool:
max-active: 8
max-idle: 8
min-idle: 0
max-wait: 100
shutdown-timeout: 50000
servlet:
multipart:
enabled: true

View File

@ -7,7 +7,7 @@
<body>
<div>
安全生产清单制管理系统授权页面
<div id="msg" class="msg" style="text-align: center;">安全生产清单制管理系统授权页面</div>
<input type="hidden" id="userId" name="userId" th:value="${userId}">
</div>
@ -19,10 +19,16 @@
console.log('-------安全生产清单制管理系统授权页面-------')
var userId = $("#userId").val();
console.log("userId ---> "+userId)
alert("userId -> "+userId)
location.href = "http://192.168.110.226:8081/auth?uid="+userId;
if(null != userId && '' != userId){
location.href = "http://182.132.59.28:8018/auth?uid="+userId;
}else{
$("#msg").text("授权失败,请重试或联系管理员");
}
</script>