代码之家  ›  专栏  ›  技术社区  ›  LeJeune

asp.net中的简单角色身份验证

  •  5
  • LeJeune  · 技术社区  · 16 年前

    我想在.NET中做一个简单的角色身份验证-但是我迷失在大量的API中。。。

    我希望每个目录都有一个web.config,具有如下角色访问权限:

    <authorization>
        <allow roles="admin"/>
        <deny users="*"/>
    </authorization>
    

    在我的登录页面中,我要指定登录用户(管理员、用户等)的角色 我不需要RoleManagementProviders和RoleManagement(在我的例子中)的过度熟练的功能。

    谢谢

    3 回复  |  直到 16 年前
        1
  •  7
  •   dtc    16 年前

    下面是一个关于一个非常简单的表单身份验证实现的链接,其中包含角色。我认为这是最基本的表单身份验证实现: http://www.codeproject.com/KB/web-security/formsroleauth.aspx

    以下是一个关于会员资格提供商的信息: http://www.asp.net/learn/moving-to-asp.net-2.0/module-08.aspx

    我更喜欢成员资格提供程序,因为它允许您覆盖默认值,并提供您自己的数据存储和用于不同身份验证操作的方法。我发现它比使用基本实现更容易。

        2
  •  0
  •   J c    16 年前

    请注意,要使用角色提供程序模型,您不必使用数据库和架构,还有一些更简单的选项。您可能有兴趣使用授权管理器(从Microsoft免费下载),它允许您向ASP.NET应用程序添加角色提供程序,并使用其工具(通过管理工具访问的MMC管理单元)配置角色和权限。

    How To: Use Authorization Manager with ASP.NET 2.0

    该工具公开的配置存储在一个xml文件中,该文件在applications web.config中引用:

    <connectionStrings>
      <add name="LocalPolicyStore" connectionString="msxml://C:/AzManStore.xml"/>
    </connectionStrings>
    

    <roleManager enabled="true" defaultProvider="RoleManagerAzManProvider">
      <providers>
        <add name="RoleManagerAzManProvider"
             type="System.Web.Security.AuthorizationStoreRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, publicKeyToken=b03f5f7f11d50a3a"
             applicationName="MyApp"
             connectionStringName="LocalPolicyStore"/>
      </providers>
    </roleManager>
    
        3
  •  -1
  •   Mitchel Sellers    16 年前

    就个人而言,如果您打算使用ASP.NET中已经提供的角色管理和用户功能,为什么要尝试拼凑出一个解决方案来限制您的扩展能力。