0

ユーザーを認証し、制限されたページのグループへのアクセスを許可するためにSpringセキュリティを既に使用しているSpring Webアプリケーションがあります。ただし、確保したいリソースの別のグループがあります。この 2 番目のグループでは、ユーザー認証は必要ありませんが、代わりに、ユーザーが /access.html のページに移動してアクセス コード (以前に電子メールで送信されたもの) を入力すると、ログインせずにこれらのリソースへのアクセスが許可されます。アクセス コード (トークン) は限られた期間のみ有効で、その後期限切れになります。

すでに用意されているユーザー認証のセットアップと並行してこれを実装するために、どうにかして春のセキュリティを使用できますか?

4

2 に答える 2

1

もちろん、これを行うにはいくつかの方法があります。必要なのは、セッション/リクエストでトークンをチェックできるフィルターを作成し、Spring Security コンテキストを作成/更新して目的のロールを持つようにすることだけです。その後、承認は通常どおり行われます。

特に、 Spring Security ContextのAuthenticationオブジェクトにGrantedAuthoriesを追加します。このプロセスには多くの詳細があり、私の答えが完全ではないことは認めますが、完全な答えはかなり広範囲になります.

于 2013-02-26T03:51:32.567 に答える
0

私はクッキーで同様のことをしました。

拡張する独自のフィルターを実装できますGenericFilterBean

そして、以下のように spring-security で構成を設定します

<security:http ... >
    ....
    <sec:custom-filter position="FORM_LOGIN_FILTER" ref="cookieAuthenticationFilter" />                                         
</security:http>  

BasicAuthenticationFilter参考になるかもしれないのソースコードを見てください。

于 2013-02-26T08:29:56.510 に答える