首页
网页制作
网络编程
脚本专栏
数据库
网站运营
网络安全
平面设计
CMS教程
搜索
建站极客
网络编程
ASP.NET
正文
asp.net 身份验证(分目录验证篇)
所属分类:
网络编程
/
ASP.NET
阅读数: 1577
收藏 0
赞 0
分享
比如一个新闻系统,通常只有在发布新闻的网页才需要身份验证,而用户浏览新闻是不需要身份验证的。对于这种情况,就要针对不同的网页来进行身份验证了。
要实现这种功能,也只要将《asp.net中的身份验证(最简单篇)》稍作修改,具体操作方式如下所示:
第一步、创建一个子文件夹,将所有要验证的网页都放在这个文件夹中,设置该文件夹的名字为“admin”。
第二步、修改web.config文件。
1、在<system.web>和</system.web>中找到<authentication>节,将其改为“<authentication mode="Forms"><forms loginUrl="~/admin/AdminLogin.aspx"></forms></authentication>”,其中Forms代表使用表单认证;loginUrl用于指定登录页面URL,个人比较喜欢将登录页面也放在admin文件夹中,所以在此要指定登录页面URL,如果还是想使用根目录中的login.aspx页面作为登录页面,则可以省略<forms>节。
2、在<system.web>和</system.web>中添加“<authorization><allow users="?"/></authorization>”,其中“<allow users="?"/>”代表允许所有的匿名用户。注意此处与《asp.net中的身份验证(最简单篇)》的区别,在《asp.net中的身份验证(最简单篇)》中,此处使用的是“<deny users="?"/>”,用于拒绝所有匿名用户。
第三步、在需要身份验证的子文件夹中添加一个web.config文件,在本例中为在“admin”文件夹中添加该文件。
第四步、修改需要身份验证的子文件夹中的web.config文件,在本例中为“admin”文件夹中的web.config文件。
在<system.web>和</system.web>中,添加“<authorization><deny users="?"/></authorization>”,由于在根目录中的web.config文件中声明了允许所有匿名用户访问,所以在不能允许匿名用户访问的子文件夹中,必须要使用“<deny users="?"/>”来拒绝匿名用户访问。另外,在子文件夹中的web.config文件中可以没有<authentication>节。
第五步、在“admin”子文件夹中创建AdminLogin.aspx文件。如果在第二步中没有使用<forms>节来指定用户登录页面,则在网站根目录下创建login.aspx文件。
第六步、在AdminLogin.aspx文件(或login.aspx文件)中验证身份,如果身份验证通过,使用FormsAuthentication.SetAuthCookie()为用户创建一个身份验证的票据,并将其添加到Cookie中。以后,再访问网站中admin子目录下的其他网页,就不需要使用进行身份验证了。单击提交按钮后的代码与《asp.net中的身份验证(最简单篇)》中的代码类似,在此就不再赘述了。
本例在VS2005中测试通过。
本例的优点:过程和代码都十分简单,可以指定某个目录中的网页进行身份验证,而不是整个网站的所有网站都进行身份验证。
本例的缺点:身份验证过于简单,验证结果只有两种,一种是没有通过验证,因而拒绝访问;一种是通过验证,可以访问。如果想对权限进行细分,比较说管理员A拥有添加权限,而管理员B只拥有查看权限,这种功能就无法实现了。
更多精彩内容
其他人还在看
ASP.Net 之Datalist删除功能详解附代码
ASP.Net 之Datalist删除功能详解附代码,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
ASP.NET(C#)验证数字的两种方法
ASP.NET(C#)验证数字的两种方法,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
此页的状态信息无效,可能已损坏 的处理办法及原因分析
此页的状态信息无效,可能已损坏 的处理办法及原因分析,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
MultiLine 换行后实现读取不换行的具体思路
输入内容中有换行,保存到数据库,直接查看感觉没有换行,但查询结果“以文本格式显示结果”你就会发现 其实是有换行的,下面与大家分享下具体的解决方法
评论 0
收藏 0
赞 0
分享
swfupload ajax无刷新上传图片实例代码
在这里上传图片就需要用到ajax无刷新上传图片,这里面包含的东西不是一点半点。这里用到的是一个插件swfupload实现无刷新上传图片,感兴趣的朋友可以参考下哈
评论 0
收藏 0
赞 0
分享
静态gb2312编码在项目传值出现中文乱码现象
参考的美工静态页面是gb2312格式的,当此编码拿到项目中后,utf-8编码的系统,加载页面时,会出现样式问题,比如不能正常居中等
评论 0
收藏 0
赞 0
分享
System.Timers.Timer定时执行程序示例代码
如果是某个逻辑功能的定时,可以将code放到逻辑功能的类的静态构造函数中,在该逻辑类第一次执行时,静态构造函数会被调用,则定时自然启动
评论 0
收藏 0
赞 0
分享
分享下Asp.Net面试题目及答案集合
这篇文章主要是总结asp.net开发人员在面试过程中常遇到的一些问题小结,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
给自定义Web控件添加事件(前后台代码)
给自定义控件(Web Control)添加事件具体前后台代码如下,感兴趣的朋友可以参考下哈
评论 0
收藏 0
赞 0
分享
ASP.NET过滤器的应用方法介绍
ASP.NET过滤器的应用方法介绍,需要的朋友可以参考一下
评论 0
收藏 0
赞 0
分享
查看更多
网络赚钱
更多
网上怎么赚钱 网络赚钱需要注意哪些东西
个人站长经常做的国内广告联盟
不靠网络广告,站长收益从何来?
SEO赚钱之道:11种可以让你盈利的SEO实业方法
Google AdSense 电汇教程 谷歌联盟国内电汇收款教程(招行)
网站赚钱这么难吗 你学会了多少?
站长故事
更多
美团副总裁杨俊:做O2O的4个关键节点 会高效率地花钱
苹果发布三款新品:一个丑+另一个丑+一个死贵?
其实并非所有草根站长都能驯服社区门户这匹马
浅析网站运营失败:你除了报怨还学会了什么
如何利用百度贴吧做网络营销
大脚:一个老站长的垂死宣言