zoukankan      html  css  js  c++  java
  • Spring Security的<form>表单的一些细节以及configure(HttpSecurity http)的配置

    自定义表单的时候,两个输入框,一个账号,一个密码,input标签中的name是默认固定的,不可以修改,修改后会导致无法正常登录。

    默认:

      账号:name=“username”

      密码:name=“password”

    如果要修改的话,需要到configure(HttpSecurity http)方法中自己定义

    .formLogin()

    .usernameParameter("zyl")
    .passwordParameter("zzz")

    configure(HttpSecurity http)

    同种功能的不同实现是可以重复配置的,一律以后面的为准

    配置的接口无论是GetMapping,PostMapping都可以。

    .defaultSuccessUrl("/defaultSuccess")

    这个是默认从哪里进入的登录界面,则成功后回到那个页面 例如:我从http://localhost:8080/hello进入登录界面,登录成功后也回到hello界面

    但是这个方法实际上还有个参数,alwaysUse,该参数默认为false,如果设置为true,url会在登录成功后去往http://localhost:8080/defaultSuccess

    .successForwardUrl("/successForward")

    不管是从哪里进入的登录界面,一律是跳转到.loginProcessingUrl("/doLogin")的这个doLoginurl,只不过界面上的返回值是/successForward接口的返回值

    .failureUrl("/failureUrl")

    会去往http://localhost:8080/failureUrl

    .failureForwardUrl("/failureForwardUrl")

    会去往http://localhost:8080/doLogin(即loginProcessingUrl)

    以上关于登录成功和失败的配置,有差别的知识url显示的地址不同,返回值还是接口的内容。

    需要注意一点:success的接口可以是@getMapping,但是failUrl的接口一定得是@PostMapping,@PostMapping对于以上配置是都可以的,但是@GetMapping对于fail的接口就不行了。

    登出的接口默认是logout,可以通过

    .logout().logoutRequestMatcher(new AntPathRequestMatcher("/exit12", "POST"))

    但需要注意的一点,即使这个exit12没有定义一个@RequestMapping的存在,也是可以直接请求的。

    浏览器F12,在console中出入如下,发起post请求

    var xhr = new XMLHttpRequest();
    xhr.open("POST","/exit",true);
    xhr.send();

  • 相关阅读:
    ubuntu qtcreator 硬件权限问题
    关于LuCi
    npm 使用记录
    ubuntu 下简单录音
    qthread 使用 signal 方法通信
    线程安全笔记一则
    ubuntu 设置 NAT 转发
    debian 中新建或调整 swap 空间
    关于 htonl 和 ntohl 的实现
    shell 调试手段总结
  • 原文地址:https://www.cnblogs.com/woyujiezhen/p/13956913.html
Copyright © 2011-2022 走看看