通过web.config文件配置项目中文件夹的访问权限

2018-08-12 13:22:45 1821

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


view plaincopy to clipboardprint?

<authentication mode="Windows" />  

 


修改为:


view plaincopy to clipboardprint?

<!--设置认证方式为Forms认证-->  

<authentication mode="Forms">  

  <!--指定认证表单-->  

    <forms loginUrl="~/Manager/Login.aspx" defaultUrl="~/Manager/Index_Manager.aspx" protection="All"></forms>  

</authentication>  

<!--授权:设置该配置文件同级目录下的所有ASP.NET资源的访问权限-->  

<authorization>  

  <!--设置为允许所有用户访问-->  

    <allow users="*"/>  

</authorization>  

 


 


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


view plaincopy to clipboardprint?

<?xml version="1.0" encoding="utf-8"?>  

<!--   

    注意: 除了手动编辑此文件以外,您还可以使用   

    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的  

     “网站”->“Asp.Net 配置”选项。  

    设置和注释的完整列表在   

    machine.config.comments 中,该文件通常位于   

    /Windows/Microsoft.Net/Framework/v2.x/Config 中  

-->  

<configuration>  

  <!--  

  <appSettings/>  

  <connectionStrings/>  

  -->  

  <system.web>  

    <!--添加授权-->  

    <authorization>  

      <!--阻止匿名用户访问-->  

      <deny users="?"/>  

    </authorization>  

  </system.web>  

</configuration>  

 


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


 


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


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


view plaincopy to clipboardprint?

protected void btnLogin_Click(object sender, EventArgs e)  

{  

    //如果用户通过验证   

    if (txtUserName.Text.Trim() == "landui" && txtPwd.Text.Trim() == "123456")  

    {  

        //授权   

        FormsAuthentication.SetAuthCookie(txtUserName.Text.Trim(), false);  

        //登录后跳转   

        Response.Redirect("~/Manager/Index_Manager.aspx");  

    }  

}  


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: