步骤一:
在根目录下的web.config中加入:
<system.web>
<authentication mode="Forms">
<forms loginUrl="Login.aspx" defaultUrl="admin/admin.aspx" name=".ASPXFORMSAUTH" timeout="20">
</forms>
</authentication>
</system.web>
loginUrl:用户没有登录,跳转到的登录页面
defaultUrl:正确登录之后,在没有指向页的时候,弄人跳转的页面
步骤二:
在admin文件夹下新建一个web.config文件,并加入以下代码
<system.web>
<!--拒绝匿名用户访问此目录下的任何文件-->
<authorization>
<deny users="?"/>
</authorization>
</system.web>
deny users="?":表示禁止匿名用户访问admin目录下的任何文件
到目前为止,只要你访问admin下的任何文件,都会自动跳转到Login.aspx登陆页面了,要求你先登录,否则别想看到页面。
步骤三:
在根目录下,创建Login.aspx登陆页面(可不是在admin目录下哦),加两个textbox控件和一个botton控件,分别是用户名,密码,和登陆按钮
双击登陆按钮,在其登陆方法里写上:
protected void btn_Login_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "admin" && TextBox2.Text == "fenghua17173")
{
//“通知”表单验证,该用户名已经通过身份验证
FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, true);
}
else
{
Response.Write("<script>alert('账号或密码有误,登录失败!');</script>");
}
}
ok,这时你在login.aspx页面里填上账号密码,系统就会根据根你在根目录下web.config中配置的defaultUrl地址路径跳转过去,也就是admin/admin.aspx页面。
现在admin目录下的所有页面,均已通过身份验证,得到了可访问的票据。
最后一点:
有登陆,当然别忘了注销,这个更简单:
在admin目录下的任何一个页面中,加一个注销button按钮,并在其方法下写入:
//退出系统,注销用户
protected void btn_Logout_Click(object sender, EventArgs e)
{
//删除用户票据
FormsAuthentication.SignOut();
//重新定向到登陆页面
FormsAuthentication.RedirectToLoginPage();
}
==============================================================
指定应用子配置设置的资源,并锁定配置设置,以防止它们被子配置文件重写。
此元素是 .NET Framework 2.0 版中的新元素。
configuration 元素(常规设置架构)
location 元素(ASP.NET 设置架构)
<location allowOverride="True|False" path="path" />
下面几部分描述了此元素的属性、子元素和父元素。
属性
属性 | 说明 |
---|---|
allowOverride | 可选的 Boolean 属性。 指定配置设置是否可以被子目录中的 Web.config 文件的配置设置重写。 默认值为 True. |
path | 可选的 String 属性。 指定应用包含的配置设置的资源。使用缺少 path 属性的 location 将配置设置应用于当前目录及其所有子目录。如果使用不带 path 属性的 location,并且 allowOverride 为 False,则配置设置不能被子目录中的 Web.config 文件更改。 |
子元素
location 元素可以放置在其他元素的外侧,以便将配置设置应用于特定资源或者锁定配置设置。
父元素
元素 | 说明 |
---|---|
configuration | 指定公共语言运行库和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。 |
location 元素指定应用子配置设置的资源,还可用于锁定配置设置,以防止这些设置被子配置文件重写。
location 元素可以放置在其他元素的外侧,以便将配置设置应用于特定资源或者锁定这些设置。有关更多信息,请参见配置特定文件和子目录和锁定配置设置。
下面的代码示例演示如何允许匿名用户获得 Logon.aspx 页的访问权。
<configuration> <location path="Logon.aspx"> <system.web> <authorization> <allow users="?"/> </authorization> </system.web> </location> </configuration>
下面的代码示例演示如何仅将指定页的上载文件大小限制设置为 128 KB。
<configuration> <location path="UploadPage.aspx"> <httpRuntime maxRequestLength="128"/> </location> </configuration>
下面的代码示例演示如何防止配置设置被子目录中的 Web.config 文件更改。
<configuration> <location allowOverride="false"/> </configuration>
配置节处理程序 | 不适用。 |
配置成员 | |
可配置的位置 | Machine.config 根级别的 Web.config 应用程序级别的 Web.config 虚拟或物理目录级别的 Web.config |
要求 | Microsoft Internet 信息服务 (IIS) 版本 5.0、5.1 或 6.0 .NET Framework 2.0 版 Microsoft Visual Studio 2003 或 Visual Studio 2005 |