网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
#控制session的超时时间,单位:s,默认是30分钟,即30分钟内不做任何操作就会认为超时,然后清除session里的用户信息,最短为1分钟
server.servlet.session.timeout= 60
②:在**BrowserSecurityConfig**配置类的**configure(HttpSecurity http)**方法中,加入**session**失效时跳转的**url,同时允许"/session/invalid"访问**
.sessionManagement()
.invalidSessionUrl("/session/invalid")//session失效时跳转的地址
.and()
/*********************************************/
"/code/“,”/session/invalid").permitAll()//允许signIn.html请求进来,不进行拦截
③在BrowserSecurityController中加入对session过期跳转的url的处理
/**
* session过期的处理方法
* @return
*/
@GetMapping("/session/invalid")
@ResponseStatus(HttpStatus.UNAUTHORIZED)
public SimpleResponse sessionInvalid(){
String message = "session失效";
return new SimpleResponse(message);
}
当session过期失效后就会返回我们设定的信息。
**Session并发控制:**
**①加入:**
.maximumSessions(1) //系统中允许同一个用户产生的session最大数量
.expiredSessionStrategy(new ImoocExpiredSessionStrategy())
.and()
**②新建session过期策略的实现类:**
package security.browser.session;
import org.springframework.security.web.session.SessionInformationExpiredEvent;
import org.springframework.security.web.session.SessionInformationExpiredStrategy;
import javax.servlet.ServletException;
import java.io.IOException;
/**
-
session过期策略的实现类
*/
public class ImoocExpiredSessionStrategy implements SessionInformationExpiredStrategy {/**
- @param sessionInformationExpiredEvent:拥有超时前的request和response
- @throws IOException
- @throws ServletException
*/
@Override
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**