2016-08-24 24 views
0

如果在JavaScript適配器中使用securityContext.getAuthenticatedUser();命令,我會得到經過身份驗證的用戶。我可以在MobileFirst 8適配器中設置AuthenticatedUser嗎?

是否有一種方法來設置已驗證的用戶對象以包含某些屬性(如MobileFirst 7中的setActiveUser)?

如果不是,會話對象如何存儲?是WL.Server.getClientRequest().getSession().setAttribute仍然在MobileFirst 8工作?

回答

2

在MobileFirst Foundation 8.0中,只有安全檢查可以設置已驗證的用戶。

另外,8.0是會話無關的,因此沒有getSession

在Java適配器,您可以使用

@Context 
AdapterSecurityContext securityContext; 
securityContext.getClientRegistrationData() 

要獲得附加到當前的客戶ID的數據。

然後,您可以使用storeClientRegistrationData更新此註冊數據。
此註冊數據旨在用於與安全性相關的輕量級數據。
對於其他任何事情,您都需要使用一些外部數據庫或數據存儲。您可以使用客戶端ID作爲密鑰。

在JavaScript適配器中,您還可以使用getTokenIntrospectionData。你不能設置任何屬性。所以你需要使用外部存儲。

+0

沒有會議?想象一下,一個JavaScript適配器進行後端調用以接收關於客戶的敏感數據,並且該調用將customer_Id作爲輸入。 (MF 7,我們將從登錄後端服務獲取該customer_id並將其存儲在會話中或活動用戶中,以便稍後通過比較請求中的customer_id是否與請求中的customer_id相同來驗證用戶是否可以請求僅屬於他的數據他在服務器會話中的那個)。沒有一個會話我們如何驗證?必須有一些我在這裏失蹤的東西。 – papakias

+0

我不確定是否完全理解用例,但是您可以訪問自檢數據中的安全檢查,適配器和客戶端等中的ClientID和UserID。 –

相關問題