我们经常看到,有些网站有我们没有登录的时候是不能访问任何页面的,只有当我们输入了正确的信息后才能查看,用ASP.NET可以轻松实现此功能,方法如下:
1.配置Web.Config文件
设置为Form认证:
<authentication mode="Forms">
<forms name="oursnet" loginUrl="login.aspx" timeout="10" />
</authentication>
其中:
name:决定验证用户时所使用的Cookie名称
loginurl: 在用户没有登录是,被重定向的页面
timeout: 超时时间,单位为分钟
不允许匿名登录
<authorization>
<!-- 允许所有用户 -->
<deny users="?" />
<!-- <allow users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
<deny users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
-->
</authorization>
其中:
users:表示禁止访问资源的用户列表,使用通配符“?“拒绝匿名用户访问,使用"*",则表示拒绝所有的用户访问.
2.添加登录成功的代码:
Session.Contents["UserName"]=txtUser.Text;
FormsAuthentication.RedirectFromLoginPage(txtUser.Text,false);
Response.Redirect("index.aspx");
3.添加退出时的代码
System.Web.Security.FormsAuthentication.SignOut();
Response.Redirect("login.aspx");
刚开始学着写点东西,写得不实用或不完善,还请大家见谅,很希望和大家一起进步,有什么问题欢迎讨论.