0

私はSpringセキュリティとSpringソーシャルに比較的慣れていません。標準の Spring Security または Spring ソーシャル Facebook との混合認証を実装しようとしています。

したがって、ユーザーは以下を認証できます。

  • 次のような標準の Spring セキュリティ ログイン フォームを使用します。

私の Thymeleaf テンプレートからのスニペット:

<form name="f" th:action="@{/resources/j_spring_security_check}" method="POST">
        <input id="j_username" type='text' name='j_username'/><br /> 
        <input id="j_password" type='password' name='j_password'/><br /> 
        <input id="proceed" type="submit" value="login" />
</form>

www.example.com/memberArea/editMyProfileこれは、ユーザーが保護されたリソース (たとえば、次のインターセプト URL によって保護されている) にリクエストを送信した場合と同様に、正常に機能します。

<intercept-url pattern="/memberArea/**" access="hasRole('ROLE_USER')" />

ユーザーはログインフォームにリダイレクトされ、ログインに成功すると、ユーザーは最終的に保護されたリソースにリダイレクトされます。www.example.com/memberArea/editMyProfile

  • または、ユーザーは Spring Social Facebook を選択し、次のようなリンクで認証/ログインできます。

私の Thymeleaf テンプレートからのスニペット:

<a th:href="@{'https://www.facebook.com/dialog/oauth/?client_id=414113641982512&amp;redirect_uri=http://www.example.com/&amp;state=UNIQUE&amp;scope=read_stream'}">Login with facebook</a>

その場合、ユーザーはもちろんリダイレクトされますが、リダイレクトされwww.example.comませんwww.example.com/memberArea/editMyProfile

私の質問は、Spring セキュリティと Spring Social Facebook を引き続き使用して、要求された URL (ここwww.example.com/memberArea/editMyProfile) を取得し、最終的にユーザーをこの URL にリダイレクトするにはどうすればよいですか?

4

1 に答える 1

2

あなたがやろうとしていることがSpringSocialのProviderSignInControllerの動作とどのように異なるのかを理解するのを手伝ってもらえますか?具体的には、Spring Social Showcase(https://github.com/SpringSource/spring-social-samples/tree/master/spring-social-showcase)またはSpring Social Quickstart(https://github.com)をご覧ください。 / SpringSource / spring-social-samples / tree / master / spring-social-quickstart)の例では、どちらもProviderSignInControllerを使用してFacebook経由でユーザーを認証します。

ショーケースの例では、ユーザーのFB情報を以前に確立された接続と比較することによって行われる認証。クイックスタートの例では、アプリ固有の認証がなく、代わりにFacebook認証がアプリケーション認証に十分な「暗黙の認証」によって行われます。私の理解では、あなたはショーケースと同じスタイルをしようとしていますが、私はあなたがやろうとしていることを誤解している可能性があります。

ところで、ここStackOverflowで自由に議論を続けてください。ただし、私が監視しているように、Spring Socialフォーラム(http://forum.springsource.org/forumdisplay.php?82-Social)でSpringSocialの質問をすることをお勧めします。そのフォーラムはほぼ毎日ですが、毎週かそこら(頻繁に)にのみSOにアクセスしてください。

于 2012-09-15T21:15:48.717 に答える