增加session失效处理

This commit is contained in:
winLsy
2018-01-17 18:28:33 +08:00
parent 82eb4884e5
commit b4cc49db4f
3 changed files with 27 additions and 1 deletions
@@ -118,6 +118,11 @@ public class BrowserSecurityConfig extends WebSecurityConfigurerAdapter {
//设置获取用户信息后登录的方式
.userDetailsService(userDetailsService)
.and()
// session管理的配置
.sessionManagement()
//定义session过期的时候处理的url
.invalidSessionUrl("/session/invalid")
.and()
.authorizeRequests()//下面是权限配置
//当访问这个页面的时候不进行身份认证,对用户自定义的登录页也不进行权限认证
.antMatchers(SecurityConstants.MOBILE_LOGIN_PROCESSOR_URI
@@ -130,7 +135,9 @@ public class BrowserSecurityConfig extends WebSecurityConfigurerAdapter {
, "/upms/user"
//用户注册或绑定的页面
,securityProperties.getBrowser().getSignUpUrl()
,"处理用户的注册绑定请求的url")
,"处理用户的注册绑定请求的url"
//处理session请求的url
,"/session/invalid")
.permitAll()
//任何请求
.anyRequest()
@@ -25,6 +25,8 @@ import org.springframework.web.context.request.ServletWebRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
/**
* 自定义登录认证处理方式,当触发登录认证的时候跳转到这里
@@ -87,5 +89,17 @@ public class BrowserSecurityController {
socialUserInfo.setHeadingUrl(connectionFromSession.getImageUrl());
return socialUserInfo;
}
/**
* 处理session过期
* @return
*/
@GetMapping("/session/invalid")
@ResponseStatus(HttpStatus.UNAUTHORIZED)
public Map sessionInvalid(){
HashMap<String, String> result = new HashMap<>();
result.put("msg","登录时间过长,请重新登录");
return result;
}
}
@@ -20,4 +20,9 @@ ms:
code:
image:
length: 4
# 应用session的管理
server:
session:
# 超时时间,单位是秒,但是不能小于一分钟
timeout: 120