我目前正在ASP.NET MVC3中实现自定义成员资格提供程序,并且一直在查看不同示例实现的示例。我注意到似乎永远不会从提供程序中的FormsAuthentication.SetAuthCookie()
方法调用ValidateUser
。如果ValidateUser
返回true,它似乎总是在调用ValidateUser
的函数中调用。这通常是某种形式的身份验证帮助程序。
我不明白的是SetAuthCookie()
似乎在ValidateUser
返回true时被调用。所以我的问题是为什么不直接整合它?
答案 0 :(得分:2)
这是因为我猜想会分开担忧。
成员资格提供者的责任只是验证给定的用户名/密码对是否有效。
FormsAuthentication.SetAuthCookie()
方法任务是将该信息(用户已成功验证自身)转换为可序列化格式(cookie或url参数),以便它能够在下一个HTTP请求中幸存下来。
您可以互相替换两个实现,将身份验证信息存储在cookie中只是asp.net平台上最常用的方式。