转---asp.net 验证的问题:authentication,解释以及如果要匿名登录一些网页需要如何操作等。
2012-04-18 18:22
459 查看
转:http://blog.sina.com.cn/s/blog_6439f26f0101082r.html
步骤一:
在根目录下的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();
}
若要实现匿名登录一些网页,或者目录只需如下操作。
转2:http://topic.csdn.net/u/20070830/10/d8791062-5d1b-48b0-b4dc-341551d65417.html
解决方案:(“test”是根目录下可以匿名访问的文件夹。也可以是某个单独也页面相对url)
<location path= "test ">
<system.web>
<authorization >
<allow users= "? "/>
</authorization>
</system.web>
</location>
步骤一:
在根目录下的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();
}
若要实现匿名登录一些网页,或者目录只需如下操作。
转2:http://topic.csdn.net/u/20070830/10/d8791062-5d1b-48b0-b4dc-341551d65417.html
解决方案:(“test”是根目录下可以匿名访问的文件夹。也可以是某个单独也页面相对url)
<location path= "test ">
<system.web>
<authorization >
<allow users= "? "/>
</authorization>
</system.web>
</location>
相关文章推荐
- C# asp.net 抓取需要登录的网页内容 抓取asp.net登录验证的网站
- ASP.net中Security.FormsAuthentication验证用户的状态(匿名|已登录)
- asp.net mvc的Filter来验证Forms 判断是否登录,角色权限以及错误处理(转)
- asp.net c#如何采集需要登录的页面?
- asp.net 操作Access以及一个不同的SQL Server的一个问题
- asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功。请重试。 Login控件
- 如何设置混合身份验证?— —或 'IIS APPPOOL\ASP.NET v4.0' 登录失败
- asp.net 如何配置authentication,完成基于表单的身份验证
- 如何解决在firefox中浏览IIS网页需要验证的问题
- ASP.Net下如何解决关于Access数据库“操作必须使用一个可更新的查询”问题
- 解決 IE10 浏览器无法使用 ASP.NET 表单验证登录的问题
- ASP.NET AJAX(Atlas)现存的一些常见问题以及解决方案[持续更新]
- 深入解析javascript与asp.net对Cookie操作的异同,以及如何共用(一)。
- ASP.NET AJAX(Atlas)现存的一些常见问题以及解决方案
- asp.net c#如何采集需要登录的页面?
- asp.net操作Word如何换行的问题
- 项目开发中的一些注意事项以及技巧总结 基于Repository模式设计项目架构—你可以参考的项目架构设计 Asp.Net Core中使用RSA加密 EF Core中的多对多映射如何实现? asp.net core下的如何给网站做安全设置 获取服务端https证书 Js异常捕获
- ASP.NET中如何实现FORM验证登录
- ASP.NET中Form验证登录后反复跳转回登录页面的问题
- 数据库开发基本操作-配置SQL Server 2005 Express的身份验证方式,以及如何启用sa登录名