我试图了解 ASP.NET MVC 中的身份验证是如何工作的。我不希望内置的 MembershipProvider 在幕后创建本地数据库。我还查看了一些关于自定义会员提供程序的博客文章。在寻找更简单的表单身份验证模型时,我发现了以下内容:
FormsAuthentication.SetAuthCookie("myusername", true);
FormsAuthentication.SignOut();
这个想法是将用户名和加盐哈希密码发送到数据库,看看它们是否匹配那里的记录。如果用户存在,那么我将用户名传递给 SethAuthCookie。我的问题是:
- 用户名应该加密吗?
- 如果有多个服务器并且用户正在浏览网站会发生什么?我相信任何一台服务器都可以为用户提供内容,那么他们如何知道用户是否已通过身份验证?
- 在没有提供者的情况下,在 MVC 中验证用户的首选方式是什么?我是在正确的轨道上还是应该寻找其他东西?