稳健的表单身份验证:这是最好的方法吗

本文关键字:方法 表单 身份验证 | 更新日期: 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