我创建了一些 Web 表单,在显示其他 Web 表单之前,我需要检查用户是否经过身份验证。所有用户都可以访问Default.aspx
和About.aspx
页面。我有三种类型的用户,即- Admin,User and Super User
。此外,我将身份验证详细信息保存在自己的 SQL 服务器数据库中。
我怎样才能做到这一点?提前致谢!
我创建了一些 Web 表单,在显示其他 Web 表单之前,我需要检查用户是否经过身份验证。所有用户都可以访问Default.aspx
和About.aspx
页面。我有三种类型的用户,即- Admin,User and Super User
。此外,我将身份验证详细信息保存在自己的 SQL 服务器数据库中。
我怎样才能做到这一点?提前致谢!
首先建立会员和角色提供者。有关于它的完整故事。我会在这里提供帮助。
这是 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 继承的类,然后在那里处理页面访问......但是我不会那样做。