2017-05-18 16 views
0

私は春のセキュリティに慣れていません。私は春のセキュリティでログインフォームを作成しようとしています。春のセキュリティ - HttpSecurityを設定する

これに必要なシナリオです:

1)ユーザーは、ユーザー名とアプリへのログイン - ログインがOKであれば、私は春のセキュリティが提供するデフォルトのloginpage) 2)を使用していることに注意してください(パスワードは、私は右のCREを挿入した場合:

@Autowired 
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { 
    auth.inMemoryAuthentication().withUser("amdin").password("111111").roles("USER"); 
} 

@Override 
protected void configure(HttpSecurity http) throws Exception { 

    http 
      .authorizeRequests() 
      .anyRequest().authenticated() 
      .and() 
      .formLogin().defaultSuccessUrl("/eventList"); 
} 

はエラー1:ログインがKO(間違った資格情報であれば、ユーザーは、エラーが

マイWebSecurityConfigurerAdapter構成を示している)eventList.jsp 3)にアクセスしてください私は/ eventListは表示されませんが、私は404(/spring-security-helloworld-annotation/WEB-INF/pages/login.jsp)を受け取ります。なぜ私は/ eventListにリダイレクトされないのですか? (pherapsが原因/ eventListは私RequestMapping注釈でGET受け入れる

@RequestMapping(value = {"/eventList"}, method = RequestMethod.GET) 

エラー2:?私は「手動」私のブラウザでURLの最後に「eventList」を追加することで、へ/ eventList行くしようとした場合、ログイン操作を行わずにアクセス可能にしたいURLだけがログインページそのものです!!!

.anyRequest().authenticated()は、このすべてを許可すべきではありません! !!

私が望むものを得るにはどうすればいいですか?

01事前に

TY

+1

あなたはSpring Bootを使用していますか? 1番目のエラーの場合、/ eventListに定義されたコントローラがありますか?エラー2の場合、それは確かに奇妙です。コンソールログにDefaultSecurityFilterChainというエントリがありますか? –

+0

1)私は/ eventList用のコントローラを持っています(ブラウザにURIを入力してアクセスしようとすると、そのページにアクセスできます) –

答えて

0

正しいセキュリティ・チェーンは、次のようになります。

  http 
       .authorizeRequests() 
       .anyRequest().authenticated() 
       .and() 
       .formLogin() 
       .loginPage("/login") 
       .defaultSuccessUrl("/eventList") 
       .permitAll() 
       .and() 
       .logout() 
       .permitAll(); 

あなたは はそれが役に立てば幸いloginPage()を定義するだけでなくpermitAll()文を忘れてしまいました!あなたがそれ以上の助けを必要とするなら、私を午後にドロップしてください。

関連する問題