Asp.net mvc 2 ASP.NET MVC 2:使用自定义SQL数据库进行身份验证?

Asp.net mvc 2 ASP.NET MVC 2:使用自定义SQL数据库进行身份验证?,asp.net-mvc-2,forms-authentication,Asp.net Mvc 2,Forms Authentication,我正在研究如何在我的MVC2应用程序中集成[Authorize]。。。我正在阅读有关它的文章,并运行了aspnet\u regsql工具。我看到我的数据库现在包含了一堆新表和大量存储过程 为什么所有这些都是必要的?我想我可以在我已经为方创建的表中检查登录凭据。。。我不能调用一个存储过程来检查登录凭据,然后让用户登录吗?为什么要使用这些新的表和存储过程?因为这就是它的工作方式。如果默认情况下使用ASP.NET成员身份,则需要将数据库aspnetdb与许多表一起存储并存储procs。如果你想,你可以

我正在研究如何在我的MVC2应用程序中集成
[Authorize]
。。。我正在阅读有关它的文章,并运行了
aspnet\u regsql
工具。我看到我的数据库现在包含了一堆新表和大量存储过程


为什么所有这些都是必要的?我想我可以在我已经为
方创建的表中检查登录凭据。。。我不能调用一个存储过程来检查登录凭据,然后让用户登录吗?为什么要使用这些新的表和存储过程?

因为这就是它的工作方式。如果默认情况下使用
ASP.NET成员身份
,则需要将数据库
aspnetdb
与许多表一起存储并存储
procs
。如果你想,你可以定制。为了做到这一点,您需要实现自定义成员资格提供程序


下面是一个简单的示例,您可以在这里找到,这里还有可用的源代码。

听起来您想创建一个自定义成员资格提供程序。对于登录,我认为您实际上只需要覆盖ValidateUser方法:

对于角色,您可以通过仅重写IsUserInRole方法来获得:

是的,我现在真的不需要角色。。。虽然知道如何使用我自己的数据库也很好。谢谢,我会研究这些。因此,如果我想集成身份验证,我必须将数据库与所有这些表和存储过程混在一起?@dcolombus这取决于你想要实现什么,你可能根本不会把数据库混在一起。为了简化这一切,您可能只有一个表来存储登录名。