2012-02-23 16 views
3

Spring MVC 3.1でWebプロジェクトを作成し、HandlerInterceptorAdapterを継承してInterceptorクラスを実装しています。私はPrincipalを取得する方法を見つける必要があります。 私はrequest.getUserPrincipal()を試して、nullを返します。 私はrequest.getRemoteUser()を試して、nullを返します。 Oauth 2と基本認証を使用しています。おかげさまで spring mvcを使用してインターセプターでプリンシパルを取得するにはどうすればよいですか?

+0

こんにちはで、どこにいても、あなたがこの問題を解決してきたあなたは、校長を得ることができますか...?それに答えて私を助けてください。私もOAUTH + Interceptorを使用していますが、動作していません。 –

答えて

0

ユーザーが認証されていない場合はnullを返します。ユーザーがrequest.getRemoteUserを要求する前に認証しまったことを確認してください()

+0

ユーザーはすでに認証されています。 preHandle、postHandle、afterCompletion、 で試してみてください。((SecurityContextImpl)sess.getAttribute( "SPRING_SECURITY_CONTEXT"))。getAuthentication()から認証を取得しようとすると動作しますが、リクエストから取得する必要があります。おかげさまで –

4

あなたは

SecurityContextHolder.getContext().getAuthentication().getPrincipal();

+1

それはインターセプタでのみjava.lang.NullPointerExceptionを返します –

+0

この回答は機能します。 NPEは、@ shai.tapがSpring Securityを正しく接続していないことを示しています。 – Paul

+0

@Paulこれをデバッグする方法..? –

関連する問題