3 回答

TA貢獻(xiàn)1725條經(jīng)驗 獲得超8個贊
看起來一切都很好,這對我來說是工作:
@Override
protected void configure(HttpSecurity http) throws Exception {
? ? http
? ? ? ? ?.authorizeRequests()
? ? ? ? ? ? ?.antMatchers("/todo/**").hasRole("USER")
? ? ? ? ? ? ?.antMatchers("/", "/home").permitAll()
? ? ? ? ? ? ?.antMatchers("/login").permitAll()
? ? ? ? ? ? ?.anyRequest().authenticated()
? ? ? ? ? ? ?.and()
? ? ? ? .formLogin()
? ? ? ? ? ? ?.loginPage("/login")
? ? ? ? ? ? ?.defaultSuccessUrl("/home")
? ? ? ? ? ? ?.permitAll()
? ? ? ? ? ? ?.and()
? ? ? ? ?.logout()?
? ? ? ? ? ? ?.logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
? ? ? ? ? ? ?.logoutSuccessUrl("/home")
? ? ? ? ? ? ?.permitAll()
? ? ? ? ? ? ?.and()
? ? ? ? ?.exceptionHandling().accessDeniedPage("/403");
? }

TA貢獻(xiàn)1794條經(jīng)驗 獲得超8個贊
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
? ? ?http.authorizeRequests().antMatchers("/login").permitAll()
? ? ?.anyRequest().authenticated().and()
? ? ?.formLogin()
? ? ?.loginPage("/login")
? ? ?.defaultSuccessUrl("/home")
? ? ?.failureUrl("/login?error=true")
? ? ?.permitAll()
? ? ?.and()
? ? ?.logout()
? ? ?.logoutSuccessUrl("/login?logout=true")
? ? ?.invalidateHttpSession(true)
? ? ?.deleteCookies("JSESSIONID")
? ? ?.permitAll();
?}

TA貢獻(xiàn)2051條經(jīng)驗 獲得超10個贊
您必須指定自定義登錄頁面的 URL。
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/login").permitAll()
.antMatchers("/", "/*todo*/**").access("hasRole('USER')").and()
.formLogin()
// put the relative URL to your custom login here
.loginPage("/login")
.permitAll();
http.csrf().disable();
}
希望這可以幫助。
添加回答
舉報