Browse Source

授权信息

master
583641232@qq.com 1 year ago
parent
commit
6e1ffb6e13
  1. 26
      cas-admin/src/main/java/com/inscloudtech/web/controller/system/SysIndexController.java
  2. 3
      cas-admin/src/main/resources/application.yml
  3. 6
      cas-common/src/main/java/com/inscloudtech/common/config/ProjectConfig.java
  4. 16
      cas-common/src/main/java/com/inscloudtech/common/filter/ExpirationDateFilter.java

26
cas-admin/src/main/java/com/inscloudtech/web/controller/system/SysIndexController.java

@ -1,15 +1,15 @@
package com.inscloudtech.web.controller.system;
import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.json.JSONObject;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.inscloudtech.common.config.ProjectConfig;
import com.inscloudtech.common.core.domain.R;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.HashMap;
import java.util.Map;
/**
* 首页
@ -22,6 +22,20 @@ public class SysIndexController {
/**
* 系统基础配置
*/
private final ProjectConfig wuziConfig;
private final ProjectConfig projectConfig;
/**
* 获取系统授权开始时间
*/
@GetMapping("getAuthStartDate")
public R getAuthStartDate() {
String startDate = projectConfig.getAuthStartDate();
DateTime dateTime = DateUtil.offsetDay(DateUtil.parse(startDate), 90);
Map<String,String> map = new HashMap<>();
map.put("startDate",startDate);
map.put("endDate",DateUtil.formatDate(dateTime));
map.put("authUnit",projectConfig.getAuthUnit());
return R.ok(map);
}
}

3
cas-admin/src/main/resources/application.yml

@ -13,6 +13,9 @@ cas:
# 缓存懒加载
cacheLazy: false
profile: /app/asb/uploadPath
authUnit: 云南农垦集团有限责任公司纪委
authStartDate: 2024-08-08
authDuration: 90
captcha:
# 页面 <参数设置> 可开启关闭 验证码校验

6
cas-common/src/main/java/com/inscloudtech/common/config/ProjectConfig.java

@ -44,6 +44,12 @@ public class ProjectConfig {
*/
private boolean demoEnabled;
private String authStartDate;
private String authDuration;
private String authUnit;
public static String getProfile() {
return profile;
}

16
cas-common/src/main/java/com/inscloudtech/common/filter/ExpirationDateFilter.java

@ -5,9 +5,11 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.extra.spring.SpringUtil;
import cn.hutool.json.JSONUtil;
import com.inscloudtech.common.config.ProjectConfig;
import com.inscloudtech.common.constant.Constants;
import com.inscloudtech.common.core.domain.R;
import com.inscloudtech.common.utils.spring.SpringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.servlet.*;
@ -26,20 +28,24 @@ import java.util.stream.Collectors;
@Component
public class ExpirationDateFilter implements Filter {
@Autowired
ProjectConfig projectConfig;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
private static DateTime START_DAY = DateUtil.parse("2024-07-01");
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
response.setCharacterEncoding(Constants.UTF8);
response.setContentType("application/json;charset=UTF-8");
int compare = DateUtil.compare(new Date(), START_DAY);
DateTime startDate = DateUtil.parse(projectConfig.getAuthStartDate());
int compare = DateUtil.compare(new Date(), startDate);
if(compare < 0){
PrintWriter printWriter = response.getWriter();
@ -47,7 +53,7 @@ public class ExpirationDateFilter implements Filter {
return;
}
long betweenDay = DateUtil.betweenDay(new Date(), START_DAY, true);
long betweenDay = DateUtil.betweenDay(new Date(), startDate, true);
if(betweenDay > 90){
PrintWriter printWriter = response.getWriter();
printWriter.write(JSONUtil.toJsonStr(R.fail("授权超过有效期")));
@ -60,7 +66,7 @@ public class ExpirationDateFilter implements Filter {
String methodName = "checkFirstOperInfo";
List<Method> methodList = Arrays.stream(serviceClass.getMethods()).filter(method -> method.getName().equals(methodName)).collect(Collectors.toList());
Method method = methodList.get(0);//
Object[] args = new Object[]{response, START_DAY};
Object[] args = new Object[]{response, startDate};
try {
method.invoke(serviceObj, args);
}catch (Exception e){

Loading…
Cancel
Save