ASP.NET 2.0中的表单身份验证

时间:2009-07-17 07:01:07

标签: forms-authentication asp.net-2.0

我在我的一个Web应用程序中使用Forms身份验证。以下是我在

中使用的代码

一个。的的Web.config

forms loginurl="***" defaulturl="***"

湾的的Login.aspx

OnAuthenticate(object sender, AuthenticateEventArgs e)
{
  e. Authenticated = validateuser(Login1.UserName, Login1.Password)
  if (e.Authenticated =true)
  {
   // fetch roles
  }
}

℃。的 Global.asax中

Application_OnPostAuthenticateRequest()
{
  if (user.Authenticated && Authenticationtype="form")
  {
   // Fetch roles and user data and save in httpcontext
  }
}

我不知道我是对的。我对Login.aspx页面和Global.asax页面有疑问

我没有使用SSL,因为它是付费数字证书。那么如何才能使数据安全传输,我应该将身份验证cookie用作文件还是网址?如何在客户端和服务器PC上找到cookie文件?

是否有任何链接可以从中获得使用表单身份验证的最佳方式?

2 个答案:

答案 0 :(得分:1)

我没有得到你想要在你的代码中做什么...但是这里有相同的完整解释。

以下是一些最好的链接.. 它可能对你有用..

http://msdn.microsoft.com/en-us/library/aa480476.aspx

http://www.codeproject.com/KB/aspnet/custom_authentication.aspx

答案 1 :(得分:0)

你知道还有一个role provider吗?你有什么理由不能使用它而不是自己滚动吗?内置的一个支持基于角色的文件和类和方法的身份验证。

如果没有SSL,您无法使表单提交安全,没有其他方法可以做到这一点。内置位使用了签名cookie,您也可以enable encryption on the cookie使用。如果你使用内置的位,你不需要去寻找cookie,它由ASP.NET负责,它受到客户端脚本访问的保护,以限制Cross Site scripting攻击的可能性。