自定义授权 - 完成的角色,用户呢?

时间:2011-07-20 17:35:02

标签: asp.net authorization

我正在从集成的/ 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之后,您可以创建一个包含所有必需函数定义的类,并根据需要返回false / empty字符串数组。

我实现的唯一功能是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>

我认为那是关于它的?希望它有所帮助。

1 个答案:

答案 0 :(得分:0)