栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > asp

asp.net 身份验证(分目录验证篇)

asp 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

asp.net 身份验证(分目录验证篇)

比如一个新闻系统,通常只有在发布新闻的网页才需要身份验证,而用户浏览新闻是不需要身份验证的。对于这种情况,就要针对不同的网页来进行身份验证了。
要实现这种功能,也只要将《asp.net中的身份验证(最简单篇)》稍作修改,具体操作方式如下所示:

第一步、创建一个子文件夹,将所有要验证的网页都放在这个文件夹中,设置该文件夹的名字为“admin”。

第二步、修改web.config文件。
1、在中找到节,将其改为“”,其中Forms代表使用表单认证;loginUrl用于指定登录页面URL,个人比较喜欢将登录页面也放在admin文件夹中,所以在此要指定登录页面URL,如果还是想使用根目录中的login.aspx页面作为登录页面,则可以省略节。
2、在中添加“”,其中“”代表允许所有的匿名用户。注意此处与《asp.net中的身份验证(最简单篇)》的区别,在《asp.net中的身份验证(最简单篇)》中,此处使用的是“”,用于拒绝所有匿名用户。

第三步、在需要身份验证的子文件夹中添加一个web.config文件,在本例中为在“admin”文件夹中添加该文件。

第四步、修改需要身份验证的子文件夹中的web.config文件,在本例中为“admin”文件夹中的web.config文件。
中,添加“”,由于在根目录中的web.config文件中声明了允许所有匿名用户访问,所以在不能允许匿名用户访问的子文件夹中,必须要使用“”来拒绝匿名用户访问。另外,在子文件夹中的web.config文件中可以没有节。

第五步、在“admin”子文件夹中创建AdminLogin.aspx文件。如果在第二步中没有使用节来指定用户登录页面,则在网站根目录下创建login.aspx文件。

第六步、在AdminLogin.aspx文件(或login.aspx文件)中验证身份,如果身份验证通过,使用FormsAuthentication.SetAuthcookie()为用户创建一个身份验证的票据,并将其添加到cookie中。以后,再访问网站中admin子目录下的其他网页,就不需要使用进行身份验证了。单击提交按钮后的代码与《asp.net中的身份验证(最简单篇)》中的代码类似,在此就不再赘述了。

本例在VS2005中测试通过。
本例的优点:过程和代码都十分简单,可以指定某个目录中的网页进行身份验证,而不是整个网站的所有网站都进行身份验证。
本例的缺点:身份验证过于简单,验证结果只有两种,一种是没有通过验证,因而拒绝访问;一种是通过验证,可以访问。如果想对权限进行细分,比较说管理员A拥有添加权限,而管理员B只拥有查看权限,这种功能就无法实现了。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/59261.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号