2016-08-29 62 views
0

我的應用程序獲取對基於此,我必須先登錄一個自定義的令牌。 我有一個自定義的應用程序代碼檢查,如果令牌是有效還是無效。手動創建Spring Security認證令牌無需用戶名和密碼

e.g

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就能夠得到認證。

您必須非常小心使用此應用程序令牌,因爲任何獲取此代碼的人都可以訪問受保護的網址

+0

是的。但是,在這種情況下,我得到它包含了我驗證(使用我的自定義代碼),如果僅當此請求參數是一個有效的用戶則只有我會創造成功的認證令牌密鑰的請求參數。 –

+0

你看到使用這種方法的任何嚴重的問題? –

相關問題