有幾天我一直在研究ASP.NET中的Single Sign On機制,但是我仍然無法找到我需要解決的問題的答案。我已閱讀了幾篇關於該機制的文章(包括https://www.simple-talk.com/dotnet/asp.net/introducing-single-sign-on-to-an-existing-asp.net-mvc-application/和http://www.codeproject.com/Articles/106439/Single-Sign-On-SSO-for-cross-domain-ASP-NET-applic),但認爲我不能完全理解它是如何工作的,或者我正在尋找一個錯誤的東西。單一登錄僅供部分用戶使用?
如果我理解的很好,Single Sign On是一種機制,它允許使用單一憑證對所有連接的Web應用程序中的用戶進行身份驗證。但是,我需要做的是僅允許應用程序A中的一些用戶通過單擊超鏈接訪問應用程序B中的某些功能(因爲只有一些用戶在兩個應用程序中都有帳戶)。這兩個應用程序應該有一個獨立的登錄機制(因爲有些用戶應該只能訪問其中一個應用程序),但是當用戶登錄應用程序A並在應用程序B中擁有一個帳戶時,他應該在兩個應用程序中登錄(不一定另一方面)。
問題出在這裏:單一登錄集中認證真的是我需要的嗎?如果是的話,我怎麼能只爲一些用戶使用它?如果有人能夠向我解釋或提供信息來源,我將非常感激,在那裏我可以找到更多關於它的信息。
嗯,我認爲你是混淆認證與_authorisation_。前者決定誰是誰,而後者是他們能做什麼。您可以在整個董事會中使用SSO,但_deny_某些用戶在某些站點執行某些操作或完全拒絕他們。這並不意味着你應該混合使用SSO和非SSO。 – MickyD
感謝您的回答。其實,我知道其中的差異,但在解決問題時仍然存在問題。但是,由於你寫了什麼,我想到了一件事。如果我理解正確,或者如果用戶在這兩個應用程序中都有一個帳戶,我可以將他視爲已認證(意味着存儲一個auth cookie),然後在應用程序內部,我可以檢查他是否有足夠的權限,如果沒有,簽署他並再次重定向到登錄屏幕,對不對? – PJDev
沒有probs。是的,這聽起來很不錯。 – MickyD