增加用户权限机制和刑专系统融合登陆机制

parent 8f875f6c
...@@ -64,8 +64,11 @@ ...@@ -64,8 +64,11 @@
<druid.version>1.0.18</druid.version> <druid.version>1.0.18</druid.version>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<thymeleaf.version>3.0.9.RELEASE</thymeleaf.version>
<!-- 布局功能的支持程序 thymeleaf3主程序 layout2以上版本 -->
<!-- thymeleaf2 layout1-->
<thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
...@@ -172,6 +175,10 @@ ...@@ -172,6 +175,10 @@
<artifactId>commons-pool2</artifactId> <artifactId>commons-pool2</artifactId>
<version>2.4.2</version> <version>2.4.2</version>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
package com.founder.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
public class FilterConfig extends WebMvcConfigurerAdapter {
@Autowired
private InterceptorConfig InterceptorConfig;
@Override
public void addInterceptors(InterceptorRegistry registry) {
//注册自定义拦截器,添加拦截路径和排除拦截路径
//
registry.addInterceptor(InterceptorConfig).
addPathPatterns("/**").
excludePathPatterns("/","/toLogin","/noLogin","/doLogin","/static/**");
}
}
package com.founder.config;
import com.founder.model.User;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Component
public class InterceptorConfig implements HandlerInterceptor {
@Value("${zhyyPath}")
private String zhyyPath;
@Override
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
Cookie[] cookies=httpServletRequest.getCookies();
boolean clientKeyFlag=false;
boolean userFlag=false;
//独立系统标志
boolean systemFlag=false;
//刑专系统cookies
if(cookies!=null){
for(Cookie cookie:cookies){
if("clientKey".equals(cookie.getName())){
clientKeyFlag=true;
break;
}
}
}
//刑专系统User信息
User user=(User)httpServletRequest.getSession().getAttribute("user");
if(user!=null){
userFlag=true;
}
//协调办案User 信息
User systemuser=(User)httpServletRequest.getSession().getAttribute("User");
if(systemuser!=null){
userFlag=true;
}
boolean flag=clientKeyFlag||userFlag;
if(!flag){
httpServletResponse.sendRedirect(zhyyPath);
}
return flag;
}
@Override
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
}
}
...@@ -134,6 +134,7 @@ public class LoginController { ...@@ -134,6 +134,7 @@ public class LoginController {
public Map<String,Object> doLogin(HttpServletRequest request){ public Map<String,Object> doLogin(HttpServletRequest request){
String userName=request.getParameter("userId"); String userName=request.getParameter("userId");
String psw=request.getParameter("psw"); String psw=request.getParameter("psw");
String perurl = request.getParameter("perurl");
Map<String,Object> returnMap=new HashMap<>(); Map<String,Object> returnMap=new HashMap<>();
User user=null; User user=null;
try{ try{
...@@ -146,6 +147,7 @@ public class LoginController { ...@@ -146,6 +147,7 @@ public class LoginController {
} }
if(user!=null){ if(user!=null){
request.getSession().setAttribute("User",user);//登录成功生成session request.getSession().setAttribute("User",user);//登录成功生成session
request.getSession().setAttribute("perurl",perurl);//权限url 放入session中
returnMap.put("state","success"); returnMap.put("state","success");
returnMap.put("msg","登陆成功!"); returnMap.put("msg","登陆成功!");
}else{ }else{
......
...@@ -14,13 +14,13 @@ mybatis.mapperLocations=classpath:mapper/*.xml ...@@ -14,13 +14,13 @@ mybatis.mapperLocations=classpath:mapper/*.xml
#协同数据源配置 #协同数据源配置
spring.datasource.xzxtdb.url=jdbc:oracle:thin:@127.0.0.1:1521:ORCL spring.datasource.xzxtdb.url=jdbc:oracle:thin:@127.0.0.1:1521:XZXT
spring.datasource.xzxtdb.username=XZXT spring.datasource.xzxtdb.username=XTBA
spring.datasource.xzxtdb.password=XZXT spring.datasource.xzxtdb.password=XTBA
spring.datasource.xzxtdb.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.xzxtdb.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.xzxtdb.type: com.alibaba.druid.pool.DruidDataSource spring.datasource.xzxtdb.type: com.alibaba.druid.pool.DruidDataSource
#指纹数据源配置 #指纹数据源配置
spring.datasource.amsisdb.url=jdbc:oracle:thin:@127.0.0.1:1521:ORCL spring.datasource.amsisdb.url=jdbc:oracle:thin:@127.0.0.1:1521:XZXT
spring.datasource.amsisdb.username=WSZZPT spring.datasource.amsisdb.username=WSZZPT
spring.datasource.amsisdb.password=WSZZPT spring.datasource.amsisdb.password=WSZZPT
spring.datasource.amsisdb.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.amsisdb.driver-class-name=oracle.jdbc.driver.OracleDriver
...@@ -44,6 +44,8 @@ ThreadPool.corePoolSize=20 ...@@ -44,6 +44,8 @@ ThreadPool.corePoolSize=20
ThreadPool.maxPoolSize=200 ThreadPool.maxPoolSize=200
#任务队列容量(阻塞队列) #任务队列容量(阻塞队列)
ThreadPool.queueCapacity=10 ThreadPool.queueCapacity=10
#1、独立系统
zhyyPath=/toLogin
#2、刑专子模块
#zhyyPath=http://zhyy.xzxt.nm:7001
...@@ -39,3 +39,8 @@ ssdw=650000000000 ...@@ -39,3 +39,8 @@ ssdw=650000000000
redis.host=10.20.47.141 redis.host=10.20.47.141
redis.port=6379 redis.port=6379
redis.pass= redis.pass=
#1、独立系统
zhyyPath=/toLogin
#2、刑专子模块
#zhyyPath=http://zhyy.xzxt.nm:7001
\ No newline at end of file
//获取JS文件带的参数
var GetParameter = function() {
var map = new Array();
var tgs = document.getElementById('scripturlid');
var src = tgs.src;
var pos = src.indexOf('?');
if( -1 == pos ) { return null; }
var paras = src.substring( pos + 1 );
paras = paras.split('&');
for( var n = 0; n < paras.length; n++ ) {
_ParseParameter(map, paras[n]);
}
return map;
};
var _ParseParameter = function(map, para) {
var pos = para.indexOf('=');
var key = para.substring( 0, pos );
var value = para.substring( pos + 1 );
map[key] = value;
};
$(function(){
//海南二期建设菜单目前先置灰且鼠标滑上去提示正在建设中 start
/*$(".menuheader_hui").each(function(){
$(this).attr("title","正在建设中......");
});
$(".li_hui").each(function(){
$(this).find("ul").remove();
$(this).replaceWith(function(){
return $(this).find("span").addClass("li_hui").attr("title","正在建设中......");
});
});*/
//海南二期建设菜单目前先置灰且鼠标滑上去提示正在建设中 end
//权限
//var paras = GetParameter();
//var url = paras['url'];
var url=$("#perurl").html();
console.info("权限url:"+url);
if(url=='admin'){
return;
}
$("li").each(function(){
debugger;
var ids = $(this).attr("id");
if (ids!= undefined && url.indexOf(ids)<0){
$("#"+ids).find("a").each(function(){
$(this).removeAttr("href");
$(this).removeAttr("onclick");
$(this).css("cursor","default");
$(this).css("color","#666");
});
// $("#"+ids).find("a").val();
//alert($("#"+ids).find("a").val());
$(this).css("position","relative");
/*var pathName = window.document.location.pathname;
alert(pathName)
var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
alert(projectName);*/
/*$("#"+ids).find("a").first().after("<img src="+projectName+"/css/BlueCss/images/suo.png title=\"无权限\" style=\"position: absolute; left: 80%; top: 5px;\" />");*/
$("#"+ids).find("a").first().after("<img src=/common/img/suo.png title=\"无权限\" style=\"position: absolute; left: 90%; top: 5px;\" />");
$("#"+ids).find("a").unbind("click");
}
});
});
<!doctype html> <!doctype html>
<html lang="en"> <html lang="en" xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>工作桌面</title> <title>工作桌面</title>
<link rel="icon" href="favicon.ico" type="image/x-icon"> <link rel="icon" href="favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="static/xtba/login/css/swiper-3.4.2.min.css" /> <link rel="stylesheet" href="static/xtba/login/css/swiper-3.4.2.min.css" />
<link rel="stylesheet" href="static/xtba/login/css/style.css" /> <link rel="stylesheet" href="static/xtba/login/css/style.css" />
<link rel="stylesheet" href="static/shiro/style.css">
<link rel="stylesheet" href="static/xtba/login/css/bootstrap.css" /> <link rel="stylesheet" href="static/xtba/login/css/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="static/xtba/login/css/style-hn.css"> <link rel="stylesheet" type="text/css" href="static/xtba/login/css/style-hn.css">
<link rel="stylesheet" type="text/css" href="static/xtba/login/css/login.css"> <link rel="stylesheet" type="text/css" href="static/xtba/login/css/login.css">
...@@ -60,7 +61,9 @@ ...@@ -60,7 +61,9 @@
<img src="static/xtba/login/images/gzzm_ryxxgl.png"> <img src="static/xtba/login/images/gzzm_ryxxgl.png">
<div class="ypgj_con"> <div class="ypgj_con">
<ul> <ul>
<a onclick="ryxxgl()" id="A01"><li>人员一体化采集</li></a> <li id="A011">
<a onclick="ryxxgl()">人员一体化采集</a>
</li>
<a onclick="zljc()" id="A02"><li>指纹质量检查</li></a> <a onclick="zljc()" id="A02"><li>指纹质量检查</li></a>
<a onclick="ryxxgl()" id="A03"><li>人员信息管理</li></a> <a onclick="ryxxgl()" id="A03"><li>人员信息管理</li></a>
</ul> </ul>
...@@ -267,5 +270,8 @@ ...@@ -267,5 +270,8 @@
window.open("/toRyxxList?isfirst=1",'_blank'); window.open("/toRyxxList?isfirst=1",'_blank');
} }
</script> </script>
<!-- 权限机制-->
<div style="display: none" id="perurl" th:text="${session.perurl}"></div>
<script id="scripturlid" src="/common/js/checkurl.js" type="text/javascript"></script>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -141,9 +141,10 @@ ...@@ -141,9 +141,10 @@
$("#loadgif").show(); $("#loadgif").show();
var username=$("#username").val(); var username=$("#username").val();
var password=$("#password").val(); var password=$("#password").val();
var perurl="";
$.ajax({ $.ajax({
url:"doLogin", url:"doLogin",
data:{"userId":username,"psw":password}, data:{"userId":username,"psw":password,"perurl":perurl},
type:"post", type:"post",
dataType:"json", dataType:"json",
success:function(data){ success:function(data){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment