没有用户名和密码的用户身份验证

时间:2013-11-05 14:55:56

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

我目前正在编写一个ASP.Net MVC Web应用程序,该应用程序将使用三项信息对客户进行身份验证,并允许他们登录安全区域以查看其预订详细信息。这三个项目是:

  1. 客户的预订参考编号,
  2. 客户的姓氏和
  3. 客户的预订日期。
  4. 我目前正在使用会话来跟踪用户的登录信息。我更喜欢使用表单身份验证,因为它经过了测试并且更加安全。

    是否可以通过此类登录使用表单身份验证? MembershipProvider类的ValidateUser()方法接受用户名和密码作为参数。我想我需要编写自己的提供程序才能完成此任务。

1 个答案:

答案 0 :(得分:1)

您无需使用会员资格进行表单身份验证。您只需要在web.config文件中启用Forms Forms Module,使用您想要的任何凭据设置登录页面,并使用FormsAuthentication类来设置cookie。

以下是一个示例,它确实使用了密码,但您可以将身份验证逻辑设置为您想要的任何内容 - 使用您需要的三个参数检查数据库等。然后使用FormsAuthentication.RedirectFromLoginPage设置cookie并发送用户到请求的页面。您确实需要一个唯一的ID来标识客户,因此该模块将在后续调用中使用该ID来设置标识。

Simple Forms Authentication

这是一个MVC示例,它使用FormsAuthentication.SetCookie方法来做同样的事情

MVC Sample

相关问题