Form表单验证
<system.web> <compilation debug="true" targetFramework="4.0" /> <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/> <!--Forms验证分两步 第一步 authentication 为认证 第二部 authorization 为授权--> <!--设置 Forms 认证方式--> <authentication mode="Forms"> <forms loginUrl="Login.aspx" name="UserName" cookieless="UseCookies"> </forms> </authentication> <!--拒绝所有未登录用户访问--> <authorization> <deny users="?"/> </authorization> </system.web>
表单验证只需在配置文件中设置即可(如上)
上面的代码设置了除了Login.aspx 页面外 其他所有的资源都禁止 未登录的用户访问
如果登陆页面里有一些图片LOGO之类的存在其他目录里就需要加上下面的设置
<!--设置Images文件夹为所有用户可以访问(设置此步因为登陆界面有图片 就把图片文件中权限放开)--> <location path="Images"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location>
上面的设置为路径为 Images 的文件夹下的资源 允许 所有的用户访问
这样Form验证就完成了
这样在登陆成功的时候把用户信息写进Cookie里就OK了(如下)
//给Form验证机制设置参数 FormsAuthentication.SetAuthCookie(UserName_txt.Text, false);
我们可以在页面的调用 Request.IsAuthenticated 查看 当前请求是否为已登录用户发起的 此属性是个Bool 值
在页面中调用 FormsAuthentication.SignOut() 注销登陆
在页面中调用 HttpContext.Current.User.Identity.Name 或者直接 User.Identity.Name 返回当前登陆的用户名