我的主应用程序数据库中已有一个 User
表,其中包含一个电子邮件地址(将用作用户名)和一个密码。我想使用我的数据库而不是默认身份验证数据库 (ASPNETDB) 进行身份验证。
问题:
这是个坏主意吗?使用我自己的数据库进行身份验证是不是一大堆蠕虫病毒?
这样做会增加多少工作量?我已经有了用于散列密码的代码和一个将检查电子邮件和密码是否与数据库匹配的查询。所以,我不会从头开始。
要使用我的数据库而不是 ASPNETDB,我需要做什么?我希望这可以通过几个简单的步骤来描述,但如果不能,你能告诉我好的来源吗?
更新
我仍在寻找关于我的第三个问题的更多细节。我需要编写自己的 MembershipProvider
吗?我需要对 web.config 文件进行哪些更改?如果我编写自己的解决方案,[Authorize]
属性是否仍然有效?我可以使用自动生成的 AccountController 进行一些小的修改,还是我基本上需要从头开始重写帐户 Controller ?
最佳答案
很简单,你需要派生MembershipProvider并实现ValidateUser方法。看看这个post .我将自定义成员资格提供程序与 Postgres 和 MVC 一起使用就好了。
关于c# - 使用自定义数据库而不是 ASPNETDB 的 ASP.NET MVC 身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2054973/