注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

午夜阳光

 
 
 

日志

 
 

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

2012-01-16 15:10:21|  分类: Asp.net |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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

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

 

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

 

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


[xhtml] view plaincopyprint?
<authentication mode="Windows" />  
<authentication mode="Windows" />

修改为:


[xhtml] view plaincopyprint?
<!--设置认证方式为Forms认证-->  
<authentication mode="Forms">  
  <!--指定认证表单-->  
    <forms loginUrl="~/Manager/Login.aspx" defaultUrl="~/Manager/Index_Manager.aspx" protection="All"></forms>  
</authentication>  
<!--授权:设置该配置文件同级目录下的所有ASP.NET资源的访问权限-->  
<authorization>  
  <!--设置为允许所有用户访问-->  
    <allow users="*"/>  
</authorization>  
<!--设置认证方式为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配置文件),修改新添加的配置文件,修改结果如下:


[xhtml] view plaincopyprint?
<?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>  
<?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的登录按钮的单击事件里


[c-sharp] view plaincopyprint?
protected void btnLogin_Click(object sender, EventArgs e)  
{  
    //如果用户通过验证   
    if (txtUserName.Text.Trim() == "qingyun" && txtPwd.Text.Trim() == "123456")  
    {  
        //授权   
        FormsAuthentication.SetAuthCookie(txtUserName.Text.Trim(), false);  
        //登录后跳转   
        Response.Redirect("~/Manager/Index_Manager.aspx");  
    }  
}  
protected void btnLogin_Click(object sender, EventArgs e) { 

//如果用户通过验证 if (txtUserName.Text.Trim() == "qingyun" && txtPwd.Text.Trim() == "123456") { 

//授权 FormsAuthentication.SetAuthCookie(txtUserName.Text.Trim(), false); //登录后跳转 Response.Redirect("~/Manager/Index_Manager.aspx"); 

}

 } 

 

至此全部完成! 

  评论这张
 
阅读(469)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017