バックエンドとしてmongo dbを使用したスプリングブートプロジェクトを作成しました。私はすべてのスプリングブートを使用した認証とセッション管理の理解
など this、私は this、 thisようturorialsの多くをしてきたメモリセッションでのいくつかの種類を維持しながら、ユーザーが(Redisのか、春のセッションに建てで何かを使用して)認証および承認されていることを確認したいですそのうち
WebSecurityConfigAdapter
を延長して
HttpSecurity
と設定し、
UserDetailService
を入力してください。私は次のようにしました。
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Bean
public UserDetailsService userDetailsService(){
return new StockUserDetailService();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/login/**").permitAll()
.antMatchers("/logout/**").permitAll()
.antMatchers("/admin/**").hasAuthority("ADMIN")
.antMatchers("/broker/**").hasAnyAuthority("BROKER")
.anyRequest().fullyAuthenticated();
}
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService());
}
}
しかし、私は理解していないことsessin管理が行われ、ユーザがログインするために使用すべきurl
は何ですか? /login
のマッピングを持つコントローラを作成した場合、私のアクションはログインコントローラの中でどうなるべきですか?私は本当に全体の画像を取得していません。
UPDATE
私は/login
に投稿しようとしました。私は
{
"timestamp": 1494842451672,
"status": 403,
"error": "Forbidden",
"message": "Could not verify the provided CSRF token because your session was not found.",
"path": "/login"
}
"/ login"に投稿しました。しかし、それは禁じられたエラーを与える。私の更新を確認してください – Ashwin
これはCSRFトークンの問題です。フォームの隠しフィールドにcsrfトークンを提供するか、 '.csrf()でセキュリティ設定を無効にしてください。 disable() ' – balag3