版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、通过 web.config文件配置项目中文件夹的访问权限分类: ASP.NET2011-09-14 17:46 1980 人阅读 评论 收藏举报asp .n etformsma nagerauthorizati onen cod ing该文讲解了通过web.config配置文件配置项目下文件夹的访问权限问题。新建一个web运用程序,项目结构如下:磊由固1.!IJ驛决方黑"Dumb 口个项目)自宮DemoIb* |别 Properties2引用I"'“ 迢 App.Cock! Q AppData白“ Manager+ “ 活I Index_Manager.spxj j
2、 Login.apx-岂 Logins spxx 曹 Login.aspx.de5igrier.es.:| 詁 Wub.aHifig+ -日 Default.apx匚 3 Web.config其中Manager文件夹的ASP.NET页面属于管理员操作页面,所有只用通过登录并授权后才能访问,而根目录下面的ASP.NET页面则任何用户都可以访问,如Default.aspx 页面。首先修改根目录下的web.config配置文件,将默认的windows验证方式修改为 Forms验证方式。在web.config配置文件中,将view plain1. <authentication mode=&qu
3、ot;Windows" />修改为:view plain1. <!-设置认证方式为Forms认证->2. <authentication mode="Forms" >3. <!-指定认证表单->4. vforms log inUrl="/Ma nager/Log in. aspx"defaultUrl="/Man ager/I ndex_Ma nager.aspx" protecti on ="All" ></forms>5. v/authent
4、ication>6. <!-授权:设置该配置文件同级目录下的所有ASP.NET资源的访问权限7. vauthorization>8. <!-设置为允许所有用户访问->9. vallow users ="*" />10. v/authorization>然后在Manager文件下面添加新的web.config配置文件,该文件旨在重写外面的web.config配置同级目录下的资源访问权限(在图中可以看到项目下有两个web.config配置文件),修改新添加的配置文件,修改结果如下:view plain1. <?xml versio
5、n ="1.0"encoding ="utf-8"?>2. <!-3. 注意:除了手动编辑此文件以外,您还可以使用4. Web管理工具来配置应用程序的设置。可以使用 Visual Studio 中的5. 网站”-> “Asp.Net配置”选项。6. 设置和注释的完整列表在7. mach in e.c on me nts中,该文件通常位于8. /Win dows/Microsoft.Net/Framework/v2.x/Co nfig9. - >10. <configuration>11. <!-12. vappS
6、etti ngs/>13. vconn ectio nStri ngs/>14. ->15. vsystem.web>16. v!-添加授权->17. vauthorizati on>18. v!-阻止匿名用户访问->19. vdeny users="?" />20. v/authorizati on>21. v/system.web>22. v/configuration>至此,配置文件都修改完成了,但是还需要有登录授权部分。F面我们通过Manager文件下面的Login.aspx登录页面给通过验证的用户授
7、权。在Login.aspx的登录按钮的单击事件里view plain1. protected void btnLogin_Click(object sender, EventArgs e)2. 3. /如果用户通过验证4. if (txtUserName.Text.Trim() ="qingyun"&& txtPwd.Text.Trim() ="123456")5. 6. /授权7. FormsAuthe nticati on .SetAuthCookie(txtUserName.Text.Trim(), false );8. /登录后跳
8、转9. Resp on se.Redirect("/Ma nager/l ndex_Ma nager.aspx")J10. 11. 至此全部完成!另外,以前写过一篇关于通过web.config文件配置项目中文件的访问权限的blog,有兴趣的朋友可以对比一下。描述:在开发中我们通常会碰到这样的问题,例如:在项目的根目录下面有一个文件或者文件夹需要用户登陆后才能访问。如果用户在没有登录的情况下访问该文件或者该文件夹下面 的文件时,直接拦截重定向到对应的登陆页面。例一:我想让用户在访问我的程序的Admin文件夹下的页面时需要登录,而在访问其他页面时则不需要,也就是说Admin文件
9、夹下的文件拒绝匿名访问下面是配置根目录下的 web.config文件中关于授权验证的配置。view plain1. <system.web>2. <authenticationmode="Forms" ><!-默认状态下位Win dows->3. <forms log inUrl ="Adm in/Log in. aspx"n ame=".ASPXFORMSAUTH</forms>4. </authe nticati on>5. vauthorizati on>6. val
10、low users ="*" /> <!-允许任何访问者访问->7. v/authorizati on>8. </system.web>9. vlocationpath ="Admin" ><!-注意:该节点最好跟在</system.web>之后,尽管这两个节点可能在 web.config文件中相隔比较远,不要觉得有什么疑惑。下面是对Admin文件夹的访问权限的配置。->10. <system.web>11. vauthorizati on>12. <deny us
11、ers ="?"/> <!-阻止匿名用户访问->13. v/authorizatio n>14. v/system.web>15. v/locati on>注意location节,location节不需要vauthorization>节了假若加了的话,便会出现”在应用程 序级别之外使用注册为allowDefinition='MachineToApplication'" 这样的错误了,若在子文件下添加配置文件时也要注意相同的问题.这样,当你在地址栏里面直接访问Admin下的任意(非Login.aspx文件)时
12、,将会被重定向到Admin文件夹下的 Login.aspx页面。那到底是如何通过 Login.aspx登陆页面授权的呢(被授权后就可以访问 Admin文件夹下 面的文件了)?Login.aspx页面的后台代码:view plain1. if (userName = "xzl" && pwd ="000")2. 3. FormsAuthe nticati on .RedirectFromLog in Page(userName, false ); /授权(这里是关键)4. Response.Redirect("Main.aspx&
13、quot; ); / 通过上面授权后,用户名为xzl的的用户就可以访问 Admin文件夹下面的Main.aspx文件 了5. 当通过上面方式授权成功后,可以通过如下代码来访问登录的用户名:view plain1. /如果登录成功2. if (User.Identity.IsAuthenticated)3. 4./输出登录名5.stri ng userName=User.Ide ntity.Name;/获取登录名6.Resp on se.Write("欢迎管理员:"+ userName +"登录!");7. 当然,也可以通过代码来安全推出:view pla
14、in1. System.Web.Security.FormsAuthentication.SignOut();上面的方式是 集中管理”的方式,也就是说在一个配置文件中配置所有页面的访问权限,这 儿再介绍一下分散管理的方式,即通过多个web.config来配置文件的访问权限。首先,web.config的作用我们应该知道两点:1、web.config的设置将作用于所在目录及所在目录下的所有子文件下的资源一一一般指.net资源,如aspx、ashx、ascx等文件,对.html、js、css等则不起作用,当然,不同 的iis版本下有所不同,在此不做讨论。2、子目录下的 web.config文件将覆盖从父目录继承下来的设置。接下来,我们新建一个测试项目,项目资源如下图:U解唾基竺理 E- "«« C2尸a个项目)Adjn inE庄HESDIError. Login, izpx Main. aspKjj AppjCoie二I Default, aspjt Default, uejjji. cm目 VLiEemo(2).slrt上图中的Admin文件夹是受保护的,只有通过省份验证的用户可以访问,所以,我们在根 目录下的web.config配置文件中做如下配置:view plain1.<authenticationmode=&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024宾馆室内装修合同标准样本
- 2024房屋名额转让协议,房屋名额转让协议范本,写购房名额转让合同
- 2024担保合同格式参考
- 2024家教的劳动合同范本
- 2024软件开发合同标准模板
- 小区车库广告位租赁合同
- 产品临时借用协议
- 建筑业劳动合同:退休政策改革与规范
- 历史文化遗产保护拆迁合同
- 农业项目合作书参考
- FZ/T 01002-2010印染企业综合能耗计算办法及基本定额
- 药品储备评估表
- 国家自然科学基金申请经验汇总课件
- 青春期女孩自尊自爱课件
- 2023年西藏开发投资集团有限公司招聘笔试题库及答案解析
- 小学语文人教三年级上册观察桔子孙娟课件
- 藏族人的名字标准英语翻译
- 市场营销产品组合与产品策略课件
- 医院会计实务操作培训课件
- 《江苏省建筑业10项新技术(2021)》
- 高中化学实验员招聘考试试卷及评分标准
评论
0/150
提交评论