稳健的表单身份验证:这是最好的方法吗
本文关键字:方法 表单 身份验证 | 更新日期: 2023-09-27 18:23:44
我已经在我的站点中实现了表单身份验证,这非常有效。但是,这是正确和最安全的方式吗?以下是用户登录系统时的代码。
FormsAuthentication.SetAuthCookie(User.ID.ToString(), true);
我一直在使用Auth Cookie中存储的名称来填充配置文件页面和其他需要用户id的部分,例如日志记录:
HttpContext.Current.User.Identity.Name
这是实现Forms auth的正确方法吗?还是我离这儿很远?如果我是,我认为是这样的话,请提供建设性的意见或链接,展示实现表单身份验证的正确方法。
感谢
您可以通过使用ASP.NET成员身份来改进流程,该成员身份与表单身份验证相结合,用于管理用户配置文件和角色。它为你做了很多腿部工作。
您可以使用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
不,你还没有走多远。这是正确的方法,而且你正确地使用了HttpContext.Current.User.Identity.Name
。