<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                如果沒有登錄則重定向到登錄頁。步驟如下: <br/> **1. 配置認證** ```java @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { //配置認證 http.formLogin() .loginPage("/to/login") //登錄頁面 .loginProcessingUrl("/login") //登錄表單提交地址 .successForwardUrl("/success") //登錄成功之后跳轉到哪個地址 .failureForwardUrl("/fail");//登錄失敗之后跳轉到哪個地址 http.authorizeRequests() .antMatchers("/layui/**", "/to/login") //配置請求路徑 .permitAll() //antMatchers方法指定的URL無需保護,允許通過。 .anyRequest() //其他請求 .authenticated(); //需要認證 //關閉csrf http.csrf().disable(); } } ``` **2. controller層** ```java @Controller public class IndexController { @RequestMapping("/to/login") public String login() { return "login"; } @RequestMapping("/success") public String success() { return "success"; } @RequestMapping("/fail") public String fail() { return "fail"; } } ``` **3. 表單** ```java <form action="/login" method="post"> 用戶名:<input type="text" name="username"/><br/> 密碼:<input type="password" name="password"/><br/> <input type="submit" value="提交"/> </form> ``` * 表單提交地址`/login`就是配置類中配置的`loginProcessingUrl("/login")`的地址。 * 表單提交方式必須為`post`方式。 * 用戶名/密碼的`name`屬性默認為`username`/`password`。這是因為在過濾器UsernamePasswordAuthenticationFilter中就定好了的。 ```java public class UsernamePasswordAuthenticationFilter extends AbstractAuthenticationProcessingFilter { public static final String SPRING_SECURITY_FORM_USERNAME_KEY = "username"; public static final String SPRING_SECURITY_FORM_PASSWORD_KEY = "password"; private String usernameParameter = "username"; private String passwordParameter = "password"; private boolean postOnly = true; ``` 如果想更改,可以如下更改。 ``` @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { //配置認證 http.formLogin() ... .usernameParameter("acct") .passwordParameter("pwd"); } } ``` **4. 測試** 當沒有登錄時會自動跳轉到登錄頁面 http://localhost:8080/to/login 。 當提交表單時,接口 UserDetailsService 的實現類中的方法 loadUserByUsername 就會被調用來判斷賬號/密碼是否正確。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看