0

Spring Security内の既存のHttpSessionをチェックすることでユーザーを認証することは可能ですか?ユーザーに、CASを介して1つのURL(http://example.com/auth)で認証してもらいたいのですが、他のURLでは認証してもらいません。たとえば、http://example.com/contentに直接アクセスする場合 HttpSessionを確認し、まだCASにログインしていない場合は、401Unauthorizedコードを返します。すでに/authページに移動してログインしている場合は、/contentに移動するとコンテンツが返されます。これの主な理由は、認証中にCASが引き起こすリダイレクトを回避するためです。

私はSpringSecurityを初めて使用するので、カスタムのAuthenticationManager、AuthenticationEntryPoint、またはその両方が必要かどうかわかりません。AuthenticationManagerにはHttpSessionにアクセスする方法がなく、AuthenticationEntryPointはこの機能を実装するのに適切な場所ではないようです。

何か案は?

4

1 に答える 1

0

SpringSecurityはHTTPセッションを使用していません。代わりに、この静的メソッドを簡単に呼び出すことができます。

SecurityContextHolder.getContext().getAuthentication();

率直に言って、認証のチェックを回避し、手動で他のページにリダイレクトするには、Springセキュリティを正しく構成する必要があると思います。

于 2012-04-27T21:09:46.523 に答える