2016-08-29 9 views
0

私のアプリケーションは、ログインする必要のあるカスタムトークンを取得します。 トークンが有効かどうかを確認するカスタムアプリケーションコードがあります。ユーザーとパスワードなしでスプリングセキュリティ認証トークンを手動で作成する

例えば

public class CustomAuthenticationTokenProvider implements AuthenticationProvider { 

    public Authentication authenticate(final Authentication authentication) throws AuthenticationException { 
    // logic for validating the token. This gives a validated authentication 

    ... 
    ... 

    //Here first argument to constructor is principal and 2nd argument is //credentials. 
    CustomAuthenticationToken customAuthenticationToken = new CustomAuthenticationToken(authentication.getToken(), null); 
    return customAuthenticationToken; 
} 
} 

私は上記のテストを持っているし、それが正常に動作します。

クエリ:成功した認証オブジェクトを作成するためには、必ず資格情報が必要ですか。このようなアプローチにはリスクがありますか?

答えて

-1

実際、認証オブジェクトは認証情報なしで完全に認証されたものを作成することはできますが、自分自身に依頼してください...認証情報を提供せずにユーザーに完全な認証を与えているので、フィルタの処理URL認証される。

このアプリケーショントークンを使用すると誰でも保護されたURLにアクセスできます。

+0

はいtrueです。しかし、この場合、(カスタムコードを使用して)認証するキーを含むリクエストパラメータを取得しています。このリクエストパラメータが有効なユーザである場合にのみ、成功した認証トークンを作成します。 –

+0

このアプローチで深刻な問題がありますか? –

関連する問題