2014-04-02 35 views
4

我有兩個應用程序在我的工作區,APP 1和APP 2.apex如何從一個應用程序的鏈接登錄到另一個應用程序?

在我的情況下,用戶將登錄到APP 1.從那裏,我把一個菜單(或鏈接) 2需要認證。所以它會帶我到一個登錄頁面。我想消除並獲得APP 1當前用戶的憑據,並登錄到APP 2

我在找一個簡單直接的方法(但需要考慮安全性)登錄到APP 2

我能想到的是apex_collection ..我可以存儲憑據ñ使用它來創建APP 2的登錄過程,但apex_collection是基於會話的。儘管我已經爲APP 2設置了會話,但它仍然不會讀取我的apex_collection中的值。

有沒有人有建議或解決方案?

回答

3

所有你需要做的就是使用這兩個應用程序相同的身份驗證方案,並設置cookie的名稱屬性相同的值在兩個認證方案是這樣的:

Session Cookie Attributes

APEX然後將使用相同的會話跨越兩個應用程序,當用戶從一個應用程序導航到另一個應用程序時,用戶不必再次登錄,當然,前提是您在URL中傳遞SESSION_ID。

+0

我測試過,它的工作原理!謝謝! – Psychocryo

2

上默認APEX工作區安全認證

引發的幾點思考這也可能有助於對爲什麼張貼@TonyAndrews工程解決方案的解釋擴大。

對於同一工作區內的任何Apex應用程序,如果他們使用默認的「APEX應用程序驗證」方法,他們將查閱相同的驗證用戶列表...所以USER1及其密碼是任何「相鄰「的應用程序...

如果您託管不應該與其他應用程序混合的不同客戶端或用戶,這可能是一個問題。您還可以在設置每個工作區用戶的相同位置定義用戶GROUPS。每個應用程序都可以有自己的安全過濾器,允許成員通過相應的訪問組訪問BOTH用戶/密碼身份驗證和成員身份。

由於單個工作區的唯一用戶名限制,共享工作區也可能是一個問題。讓您可以通過:

  • 定義不同的名稱空間爲每個應用程序:

    1. 電子郵件地址是好: 「[email protected]
    2. 中的App ID前綴。如:SHOP_EDNA,SHOP_GARRETT,TC_KAREN,TC_MARLOWE,MY_BORIS等
    3. 不同的名稱樣式:僅限名字,名字+最後的首字母等。

  • 爲了簡單起見,你可以永遠只是旋轉了一個全新的工作區:但是一個警告是,像`ADMIN`常見的用戶名不獨立的工作區之間的相同。不過應該沒有多少關注,因爲應用程序或工作空間用戶可能對數據庫後端具有相同或不同的模式訪問權限。

注意的一句話管理員和開發人員

當你去住了面向用戶的系統上的應用程序或多個應用程序,牢記部署目標(即工作區)和還有什麼共享該工作區。有些應用程序不打算由其他「內部」用戶共享或訪問的實際情況。請務必閱讀並理解安全約束和使用安全性的方法,以保護您自己的生產/實時部署的應用程序不僅僅是運氣。

0

我有類似的要求,從一個應用程序頁面鏈接到另一個。 嘗試了上述解決方案,但仍要求登錄到第二個應用程序。我的Apex版本是5.0.3,並嘗試在同一個工作區中。

  1. 爲每個具有相同cookie名稱的應用程序創建新的身份驗證方案,並將它們設置爲當前身份驗證。計劃類型是應用程序快速帳戶。
  2. 將鏈接設置爲從第一個應用程序頁面到第二個。 href =「http:// servername:port/apex/f?p = 224:2:& APP_SESSION」 任何人都可以提供解決方案嗎?
相關問題