2011-11-03 47 views
0

我們正在開發一款自助註冊應用程序。僅限經過認證的用戶訪問限制

我們的應用程序允許用戶註冊Web應用程序,並部署在weblogic 10.3.5應用程序服務器上。該weblogic連接到本地ldap系統。 一旦用戶註冊我們的應用程序,我們將調用公司服務來生成用戶標識。密碼激活,認證全部由公司服務處理。其中也包含公司所有用戶的企業ldap。

該方法適用於'新用戶',即不存在於企業ldap或本地ldap中的用戶:用戶輸入他們的詳細信息併發佈一個用戶ID,然後在用戶激活後將其複製到本地ldap中他們的帳戶。

我們現在正在處理的用例是如何處理希望註冊的「現有」用戶。這些用戶目前在企業ldap中,並希望「註冊」我們的應用程序。他們在正常的註冊過程中被拒絕,因爲他們已經存在於公司的ldap中。

我想要做的就是強制他們登錄(簡單地說,他們不會代表somone其他人登錄),並且一旦他們登錄,只需將他們的數據複製到本地ldap。

問題是,即使它們已被公司服務成功驗證,但就weblogic服務器而言,它們不存在(但尚未存在)。有沒有辦法獲得認證令牌附帶的用戶ID?

身份驗證方法是SAML 1.1 該應用程序是一個使用struts2框架的標準Java EE servlet web應用程序。

任何想法將不勝感激。

回答

0

在WebLogic中,您可以定義多個身份驗證提供程序並按您希望系統使用的順序進行設置。由於您正在複製數據,因此在嘗試在LDAP服務器上創建帳戶之前,必須以編程方式檢查帳戶是否存在。

如果您直接使用外部LDAP服務器而不是將數據複製到內部LDAP服務器,讓您嘗試登錄用戶並創建帳戶而僅捕獲適當的異常,那將會簡單得多。