开始吧
1、 通过调用 HttpSecurity 对象的一系列方法设置注销功能。
最后四行代码:
//重写configure方法进行配置
@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {
httpSecurity
.authorizeRequests() //对请求进行授权
.antMatchers("/index.jsp", "/layui/**") //针对 /index.jsp以及layui下的内容进行授权
.permitAll() //授权的级别:可以无条件访问
.anyRequest() //任意请求
.authenticated() //需要登陆后才可以访问
.and()
.formLogin() //设置未授权请求跳转到登录页面
.loginPage("/index.jsp") //指定登录页面
.loginProcessingUrl("/do/login.html") //loginProcessingUrl()方法指定了登录地址,就会覆盖 loginPage()方法中设置的默认值 /index.jsp POST
.permitAll() //为登录页面设置所有人都可以访问
.usernameParameter("loginAcct") //定制登录账号的请求参数名
.passwordParameter("userPswd") //定制登录密码的请求参数名
.defaultSuccessUrl("/main.html") //设置登录成功后默认前往的 URL 地址
.and()
.csrf()
.disable() //禁用CSRF功能
.logout() //开启退出功能
.logoutUrl("/do/logout.html") //指定处理退出请求的URL地址
.logoutSuccessUrl("/index.jsp") //退出成功后前往的 URL 地址
;
}
禁用CSRF功能后
未禁用前会携带_cr
// .csrf()
// .disable() //禁用CSRF功能
.logout() //开启退出功能
.logoutUrl("/do/logout.html") //指定处理退出请求的URL地址
.logoutSuccessUrl("/index.jsp") //退出成功后前往的 URL 地址
2、 退出的表单
<li class="layui-nav-item">
<form id="logoutForm" action="${pageContext.request.contextPath }/my/app/logout" method="post">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
</form>
<a id="logoutAnchor" href="">退出</a>
<script type="text/javascript">
window.onload = function() {
document.getElementById("logoutAnchor").onclick = function() {
document.getElementById("logoutForm").submit();
return false;
};
};
</script>
</li>
3、 启动服务器测试
看到这个目的就达到了。。。