下面我再加点代码来实现用户登录。页面代码:
- <fieldset><legend>普通登录</legend><form action="<%= Request.RawUrl %>" method="post">
- 登录名:<input type="text" name="loginName" style="width: 200px" value="Fish" />
- <input type="submit" name="NormalLogin" value="登录" />
- </form></fieldset>
现在页面的显示效果:
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/5/28151244660.png" />
登录与退出登录的实现代码:
- public void Logon()
- {
- FormsAuthentication.SignOut();
- }
- public void NormalLogin()
- {
- // -----------------------------------------------------------------
- // 注意:演示代码为了简单,这里不检查用户名与密码是否正确。
- // -----------------------------------------------------------------
- string loginName = Request.Form["loginName"];
- if( string.IsNullOrEmpty(loginName) )
- return;
- FormsAuthentication.SetAuthCookie(loginName, true);
- TryRedirect();
- }
现在,我可试一下登录功能。点击登录按钮后,页面的显示效果如下:
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/5/69151245758.png" />
从图片的显示可以看出,我前面写的NormalLogin()方法确实可以实现用户登录。
当然了,我也可以在此时点击退出按钮,那么就回到了图片2的显示。
写到这里,我想有必要再来总结一下在ASP.NET中实现登录与注销的方法:
1. 登录:调用FormsAuthentication.SetAuthCookie()方法,传递一个登录名即可。
2. 注销:调用FormsAuthentication.SignOut()方法。
保护受限制的页面
在一个ASP.NET网站中,有些页面会允许所有用户访问,包括一些未登录用户,但有些页面则必须是已登录用户才能访问,还有一些页面可能会要求特定的用户或者用户组的成员才能访问。这类页面因此也可称为【受限页面】,它们一般代表着比较重要的页面,包含一些重要的操作或功能。
为了保护受限制的页面的访问,ASP.NET提供了一种简单的方式:可以在web.config中指定受限资源允许哪些用户或者用户组(角色)的访问,也可以设置为禁止访问。
比如,网站有一个页面:MyInfo.aspx,它要求访问这个页面的访问者必须是一个已登录用户,那么可以在web.config中这样配置:
- <location path="MyInfo.aspx">
- <system.web>
- <authorization>
- <deny users="?"/>
- </authorization>
- </system.web>
- </location>
为