我在我的一个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文件?
是否有任何链接可以从中获得使用表单身份验证的最佳方式?
答案 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攻击的可能性。