强大的表单身份验证:这是最好的方法吗?

时间:2012-02-06 15:57:38

标签: c# asp.net webforms forms-authentication

我已经在我的网站上实现了表单身份验证,这非常有用。但是,这是正确和最安全的方式吗?以下是我的用户登录系统时的代码。

 FormsAuthentication.SetAuthCookie(User.ID.ToString(), true);

我一直在使用Auth Cookie中存储的名称来填充个人资料页面和其他需要用户ID的部分,例如记录:

 HttpContext.Current.User.Identity.Name

这是实现Forms身份验证的正确方法吗?还是我离开了?如果我是,我认为是这种情况,请提供建设性意见或链接,以显示实施表单身份验证的正确方法。

由于

3 个答案:

答案 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