【问题标题】:How to configure role based access permissions in C# and ASP.NET using Identity framework?如何使用身份框架在 C# 和 ASP.NET 中配置基于角色的访问权限?
【发布时间】:2017-07-31 08:51:33
【问题描述】:

到目前为止我所尝试的:

我将Web.config 放置在我想使用以下内容保护的文件夹中,这些内容应仅授予adminsecond_levelthird_level 用户的访问权限。

<?xml version="1.0"?>
<configuration>
  <system.web>
    <authorization>
      <allow roles="admin"/>
      <allow roles="second_level"/>
      <allow roles="third_level"/>
      <deny roles="first_level"/>
      <deny roles="blocked"/>
      <deny users="*" />
    </authorization>
  </system.web> 
</configuration>

在主Web.config我放:

<roleManager enabled="true" defaultProvider="myapp.App_Code.SecurityAppRoleProvider" cacheRolesInCookie="true" createPersistentCookie="false" cookieProtection="All">
  <providers>
    <clear />
  </providers>
</roleManager>

自定义角色提供者:

 namespace myapp.App_Code
{
    public class SecurityAppRoleProvider : System.Configuration.Provider.ProviderBase
    {
        public SecurityAppRoleProvider()
        {
            var i = 0; // breakpoint here will never be reached?
        }

    }
}    

在这一点上,我正在努力解决一些问题:

  1. &lt;deny users="*" /&gt; 有效。 ASP.NET 应用程序将我重定向到登录页面,这是我需要的行为。但是 Web 应用程序不考虑角色。这意味着当前阻止所有用户访问该页面,即使他们是角色 admin 的成员。
  2. SecurityAppRoleProvider 永远不会被实例化,所以我想我需要在其他地方注册自定义角色提供程序?
  3. 是否有一个默认的角色提供者应该与 ASP.Net 身份框架结合使用而无需自定义代码?

【问题讨论】:

    标签: c# asp.net asp.net-mvc asp.net-identity asp.net-roles


    【解决方案1】:

    我把这个放到 main Web.config 来解决这个问题。

    <roleManager enabled="true">
      <providers>
        <clear/>
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="DefaultConnection" applicationName="/your-app-name"/>
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/your-app-name"/>
      </providers>
    </roleManager>
    

    【讨论】:

      猜你喜欢
      • 2023-03-21
      • 1970-01-01
      • 2020-04-29
      • 2017-11-15
      • 1970-01-01
      • 2019-04-30
      • 1970-01-01
      • 2015-11-20
      • 2011-02-03
      相关资源
      最近更新 更多