我已经在我的网站上实现了表单身份验证,这非常有用。但是,这是正确和最安全的方式吗?以下是我的用户登录系统时的代码。
FormsAuthentication.SetAuthCookie(User.ID.ToString(), true);
我一直在使用Auth Cookie中存储的名称来填充个人资料页面和其他需要用户ID的部分,例如记录:
HttpContext.Current.User.Identity.Name
这是实现Forms身份验证的正确方法吗?还是我离开了?如果我是,我认为是这种情况,请提供建设性意见或链接,以显示实施表单身份验证的正确方法。
由于
答案 0 :(得分:2)
您可以使用ASP.NET Membership来改进流程,{{3}}与表单身份验证相关联,以管理用户配置文件和角色。它为你做了大量的工作。
答案 1 :(得分:2)
您可以使用FormsAuthenticationTicket
来构建自定义故障单。
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
username,
DateTime.Now,
DateTime.Now.AddMinutes(30),
isPersistent,
userData,
FormsAuthentication.FormsCookiePath);
// Encrypt the ticket.
string encTicket = FormsAuthentication.Encrypt(ticket);
获取您的信息:http://msdn.microsoft.com/en-us/library/system.web.security.formsauthenticationticket.aspx
答案 2 :(得分:1)
不,你没有离开。这是正确的方法,您正确使用HttpContext.Current.User.Identity.Name
。