私は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&redirect_uri=http://www.example.com/&state=UNIQUE&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 にリダイレクトするにはどうすればよいですか?