我正在從一個集成的/ Windows認證系統(我在web.config的授權部分使用windows組,並使用web.sitemap以及使用user.identity.name來實現各種各樣的用戶功能)到一個SSO解決方案通過http頭提供認證詳細信息。定製授權 - 完成角色,用戶呢?
我創建了一個非常簡單的自定義RoleProvider(覆蓋IsUserInRole和GetRolesForUser),它非常適合web.config的'allow roles'部分和web.sitemap的roles部分。
我想爲授權中的'用戶'部分做同樣的事情。我該如何去做這件事?它是否通過覆蓋不同的提供者?它是否也會影響user.identity.name返回的內容?
感謝您指出我在正確的方向:)
編輯 - 周杰倫。
請注意,這可能是一個hacky和沒有經驗的修復程序,但它適合我的目的。以下http://msdn.microsoft.com/en-us/library/8fw7xh74(v=vs.100).aspx您可以創建一個具有所有必需的函數定義的類,根據需要返回假/空字符串數組。
我實現的唯一功能是IsUserInRole和GetRolesForUser。後者簡單地掛鉤到Request.ServerVariables中以檢查適當的HTTP頭,並根據需要將它們格式化爲一個String數組。 IsUserInRole簡單地將提供的字符串與GetRolesForUser返回的字符串數組進行匹配。
在那之後,我只是引用上述在web.config
<roleManager defaultProvider="myroleprov" enabled="true">
<providers>
<clear/>
<add name="myroleprov" type="myApp.CustomProviders.myroleprov" applicationName="myApp"/>
</providers>
</roleManager>
我認爲這是什麼呢?希望能幫助到你。
你可以分享你的,你怎麼Implemeted一個自定義RoleProvider代碼? – Jay
沒問題,請參閱編輯。 –
添加角色提供程序名稱部分中的連接字符串缺少非常相似的歡呼,似乎不可見在您的可能只有MVC4? – Jay