2016-12-26 181 views
3

有大量文檔的在線如何保護春天的webapps和微服務,但我還沒有找到一種方法,添加了幾個有限的頁面一個額外的密碼請求在一個應用程序。需要密碼

例如,亞馬遜知道我是誰,我可以買東西從我的筆記本電腦一擊。但是,如果我想看看我的賬戶頁面,我必須登錄。

我怎麼能有用戶訪問多個級別在我的春天啓動的應用程序,以不同的過期每個級別?我是否需要將此應用於支持我的應用的微服務?

+0

爲特殊路徑(特定資源除外)設置Cookie'JSESSIONID'可能是一個解決方案。 – chaoluo

回答

0

春季安全具有每資源細粒度的配置支持,這樣你就可以添加自定義的認證管理器再次挑戰用戶。

0

您可以使用spring自定義安全性並配置某些需要通過spring安全性認證的端點,還可以配置一些可以在不進行認證檢查的情況下進行調用。

可以延長春季安全AbstractAuthenticationProcessingFilter並覆蓋上述過濾器的requireAuthentication方法來配置,終結點你想跳過認證。

 protected boolean requiresAuthentication(HttpServletRequest request,  HttpServletResponse response) { 
    if (request.getRequestURI().toLowerCase().contains("ToBeSkipped")) { 
     return false; 
    } 
    return true; 
} 
+0

那麼,我不想完全跳過認證/授權。對於絕大多數資源,用戶應該被認證,但它可能來自長期cookie。對於少數選擇頁面,我希望用戶必須再次輸入密碼。 – Rick