私はスプリングブートを使用していますが、春のセキュリティには非常に新しいですが、私のウェブアプリケーションに基本的なセキュリティが必要でした。スプリングセキュリティ - データベースにアクセスしていません
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/**","/event/**","/ticket/**")
.hasRole("USER")
.and()
.formLogin();
}
}
私のWebアプリケーションを実行した後、私はどこに置いた私は、ログインページに実行します。私がやったことは私のpom.xmlに必要な依存関係を追加し、私のプロジェクトに、このJavaクラスを追加しましたユーザー/パスワードを入力してから、自分のWebアプリケーションに移動します。ただし、コマンドは機能しません。私は自分のMySqlデータベースに信号を送るべきいくつかのボタンを押していますが、何も起こりません。フロントエンドがバックエンドに接続されていないようです。フロントエンドにはAngularJSを、ページ間を移動するView Controllerは使用しています。アプリケーションの残りの部分はRESTベースです。なぜこのようなことが起こるのでしょうか?
後で編集:私が知っている問題は、認証後にエンドポイントに403個のステータスコードが表示されることです。どのように私はそれを修正するかもしれない任意のアイデア?
後でEditv2:私のPOSTリクエストで承認されないようですが、GETのものはうまくいきます。ここに私のPOSTエンドポイントのいくつかがあります:/ event/buy_ticket/{id}、/ ticket// cancel_ticket/{ID}
angular.min.js:101 POST http://localhost:8080/event/buy_ticket/2 403()
私も明示的にそれを許可するように言ってみましたが、私はまだ403を取得...
http.authorizeRequests()
.antMatchers("/**","/event/**","/ticket/**","/event/buy_ticket/2")
.permitAll()
.and()
.formLogin();
その後、後で、後で編集:
無効にCSRF働いた
いいえ、authが動作します。その後問題が起こり、自分のページで何かをすると何も起こりません – Gimv13
apiエンドポイントから403応答がありますか? –
はい私は得ています403 – Gimv13