用户退出(注销)

开始吧

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、 启动服务器测试

看到这个目的就达到了。。。

原文地址:https://www.cnblogs.com/jinyuanya/p/13942472.html