2013-04-26 62 views
1

我們正在建立一個單一的系統登錄系統,以處理我們不同系統(幾乎所有系統都不是DNN系統)之間的認證和授權。如何在不知道SSO場景中的DotNetNuke密碼的情況下將某人登錄到DotNetNuke中?

這個想法是中央認證系統給用戶一個鏈接,用中間認證系統將他們重定向到DotNetNuke系統。然後我需要獲取該認證令牌,驗證它是否合法,如果是,則將該用戶登錄到DNN。這個工作流程的問題是我不知道用戶的密碼。

var portalSettings = PortalSettings.Current; 
UserController.UserLogin(portalSettings.PortalId, username, password, string.Empty, portalSettings.PortalName, ip, ref loginStatus, true); 

,如果我不知道他們的密碼是在DNN/Asp.net這顯然是行不通的:

以前,當我已創建自定義登錄界面我通過調用登錄的用戶形成認證體系。

因爲這不是一個新的系統,但目前在生產中使用,而不SSO系統,我不能只是設置每個人的密碼設置爲「pass1234」,並要求他們僅通過SSO登錄方法。

我怎麼能告訴DotNetNuke的作爲用戶登錄,不知道其確切的密碼?

回答

3

對於需要「UserInfo」對象的UserController有一個額外的重載。

使用UserController.GetUserByName從系統中獲取實際用戶,然後您可以將該對象傳遞給Userlogin方法,並且您很好!

+0

良好的通話,我錯過了。謝謝! – KallDrexx 2013-04-29 13:26:11

相關問題