zoukankan      html  css  js  c++  java
  • 通过web.config文件配置项目中文件夹的访问权限

    该文讲解了通过web.config配置文件配置项目下文件夹的访问权限问题。

    新建一个web运用程序,项目结构如下:

    其中Manager文件夹的ASP.NET页面属于管理员操作页面,所有只用通过登录并授权后才能访问,而根目录下面的ASP.NET页面则任何用户都可以访问,如Default.aspx页面。

     

    首先修改根目录下的web.config配置文件,将默认的windows验证方式修改为Forms验证方式。在web.config配置文件中,将

    1. <authentication mode="Windows" />  

    修改为:

    1. <!--设置认证方式为Forms认证-->  
    2. <authentication mode="Forms">  
    3.   <!--指定认证表单-->  
    4.     <forms loginUrl="~/Manager/Login.aspx" defaultUrl="~/Manager/Index_Manager.aspx" protection="All"></forms>  
    5. </authentication>  
    6. <!--授权:设置该配置文件同级目录下的所有ASP.NET资源的访问权限-->  
    7. <authorization>  
    8.   <!--设置为允许所有用户访问-->  
    9.     <allow users="*"/>  
    10. </authorization>  

     

    然后在Manager文件下面添加新的web.config配置文件,该文件旨在重写外面的web.config——配置同级目录下的asp.net资源访问权限(在图中可以看到项目下有两个web.config配置文件),修改新添加的配置文件,修改结果如下:

    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <!--   
    3.     注意: 除了手动编辑此文件以外,您还可以使用   
    4.     Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的  
    5.      “网站”->“Asp.Net 配置”选项。  
    6.     设置和注释的完整列表在   
    7.     machine.config.comments 中,该文件通常位于   
    8.     /Windows/Microsoft.Net/Framework/v2.x/Config 中  
    9. -->  
    10. <configuration>  
    11.   <!--  
    12.   <appSettings/>  
    13.   <connectionStrings/>  
    14.   -->  
    15.   <system.web>  
    16.     <!--添加授权-->  
    17.     <authorization>  
    18.       <!--阻止匿名用户访问-->  
    19.       <deny users="?"/>  
    20.     </authorization>  
    21.   </system.web>  
    22. </configuration>  

    至此,配置文件都修改完成了,但是还需要有登录授权部分。

     

    下面我们通过Manager文件下面的Login.aspx登录页面给通过验证的用户授权。

    在Login.aspx的登录按钮的单击事件里

    1. protected void btnLogin_Click(object sender, EventArgs e)  
    2. {  
    3.     //如果用户通过验证   
    4.     if (txtUserName.Text.Trim() == "qingyun" && txtPwd.Text.Trim() == "123456")  
    5.     {  
    6.         //授权   
    7.         FormsAuthentication.SetAuthCookie(txtUserName.Text.Trim(), false);  
    8.         //登录后跳转   
    9.         Response.Redirect("~/Manager/Index_Manager.aspx");  
    10.     }  
    11. }  
  • 相关阅读:
    tif文件导入postgresql
    与你相遇好幸运,使用redis设置定时任务
    用sinopia搭建npm私服
    Postman设置Header不生效问题
    iOS 动态加载LaunchScreen上的图片
    iOS 封装一个带复制功能的UILabel
    ios开发文字排版,段落排版,富文本
    iOS使用hitTest和loadView处理UIView事件传递
    iOS 更改状态栏颜色和隐藏状态栏
    iOS scrollView嵌套tableView的手势冲突解决方案
  • 原文地址:https://www.cnblogs.com/hjtdlx/p/2244184.html
Copyright © 2011-2022 走看看