我有一個ASP.NET 3.5應用程序,我最近使用多個成員資格和角色提供程序進行擴展,以在該應用程序中「附加」第二個應用程序。我無法直接訪問IIS配置,因此我無法將其分解到單獨的應用程序目錄中。ASP.NET 3.5多角色提供程序
這就是說,我已成功分離登錄;然而,在我登錄後,我可以通過自定義角色例程驗證用戶所屬的組,並且我可以爲兩個「應用程序」使用不同密碼的相同用戶名。
我遇到的問題是,當我使用與其他成員身份相同的用戶名(它在目錄上使用web.config角色)創建用戶時,我可以手動將URL切換到其他應用程序,並且它拿起用戶名,並加載該應用程序的角色。很明顯,這是不好的,因爲它允許用戶創建一個有權訪問其他應用程序的用戶名,並與其他用戶的角色交叉到另一個應用程序中。
我該如何緩解這種情況?如果我僅限於一個應用程序與多個角色和成員提供者一起工作,並且auth cookie存儲明顯可轉移的用戶名,那麼我能做些什麼嗎?
我意識到情況並不理想,但這些都是目前強加的限制。
示例性認證(在驗證):
FormsAuthentication.SetAuthCookie(usr.UserName, false);
此cookie需要被基於用戶令牌我懷疑的,而不是用戶名,以便將兩個提供分開?那可能嗎?
是的,它們被應用程序名稱分開。有兩個具有不同應用程序名稱的角色提供者,以及兩個具有不同應用程序名稱的成員提供者(當然,角色與成員資格相匹配)。 – Dudeinco