除了用web.config文件来控制文件夹下的文件访问权限,如果单独的可匿名访问的页面需要身份验证则可以使用下面的方法。
- 登陆
1)自定义身份验证票据
//使用 cookie 名、版本、目录路径、发布日期、过期日期、持久性以及用户定义的数据初始化 FormsAuthenticationTicket 类的新实例。
FormsAuthenticationTicket ticket= new FormsAuthenticationTicket(version,name,System.DateTime.Now,System.DateTime.Now.AddMinutes(20),isPersistent,"userData string ",cookiePath);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName,FormsAuthentication.Encrypt(ticket));
cookie.Path = FormsAuthentication.FormsCookiePath;
if(isPersistent)
{
cookie.Expires = ticket.Expiration;
}
Response.Cookies.Add(cookie);
2)使用系统的验证票据
//为给定的 userName、createPersistentCookie 和 strCookiePath 创建身份验证票,并将其附加到 Cookie 的传出响应集合。它不执行重定向。
FormsAuthentication.SetAuthCookies(userName,isPersistent,cookiePath);
2. 验证
try
{
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value);
//已验证用户
}
catch(Exception e)
{
//未验证用户;
}3. 退出
FormsAuthentication.SignOut();
Session.Abandon();


浙公网安备 33010602011771号