1

我创建了一些 Web 表单,在显示其他 Web 表单之前,我需要检查用户是否经过身份验证。所有用户都可以访问Default.aspxAbout.aspx页面。我有三种类型的用户,即- Admin,User and Super User。此外,我将身份验证详细信息保存在自己的 SQL 服务器数据库中。

我怎样才能做到这一点?提前致谢!

4

1 回答 1

2

首先建立会员和角色提供者。有关于它的完整故事。我会在这里提供帮助。

这是 SqlMembershipProvider 的链接(您可以选择的选项之一):http: //msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx

这是指向 SqlRoleProvider 的链接(同样只有您可以选择的选项之一):: http: //msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx

建立此设置后,您可以在文件夹级别限制用户/角色访问。将此代码放入 web.config (在配置标签内):

  <location path="AdminPages">
    <system.web>
      <authorization>
        <allow roles="Administrator"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
  <location path="UserPages">
    <system.web>
      <authorization>
        <allow roles="Administrator,User"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>

这里稍微解释一下。根文件夹“AdminPages”将只允许“管理员”角色的用户使用。角色“管理员”和“用户”的用户的根文件夹“UserPages”。在这两种情况下,都将不允许未知用户访问文件夹。这就是你所需要的。对此的替代方法是创建从 Page 继承的类,然后在那里处理页面访问......但是我不会那样做。

于 2012-09-23T09:18:55.833 回答