2011-06-25 21 views
2

我正在使用.NET MVC 3,剃须刀网站,我想知道使用Membership.CreateUser时数据保持在哪里?使用Membership.CreateUser时数据保存在哪里?

http://msdn.microsoft.com/en-us/library/d8t4h2es.aspx它说:

CREATEUSER增加一个新用户到数据存储,并返回新创建的用户一个MembershipUser对象。

这是哪个数据存储?应用程序数据中的本地.sdf文件没有用于用户凭据的任何表格?

还可以提供一些帮助我理解.NET MVC3安全模型的好链接。

+0

你检查了你的web.config? – frennky

+0

供参考:这是类似的问题http://stackoverflow.com/questions/6363129/mvc3-where-is-userid-and-roles-information – Seth

回答

3

默认情况下,它使用App_Data中的存储,创建ASPNETDB.mdf文件,至少在Web表单中。 MVC的行为将是相同的,除了自动创建数据库部分。您可以使用aspnet_regiis工具在任何SQL数据库中生成它需要的表,或者滚动您自己的提供程序,并更新<system.web><membership>元素中的会员注册,就像您在Web表单中做的那样。

0

据我所知,ASP.NET MVC 1.0和2.0中基于ASP.NET Membership API的捆绑安全模型。因此,ASP.NET MVC本身没有特殊的安全API。它基于现有的ASP.NET成员资格

而当您安装成员资格时,您正在创建自定义表格和存储特效。所以你提到的用户应该存储在SQL数据库中。

this链接你可以看到在安装后有aspnet_users表是用户存储的链接。

我不知道是否有针对ASP.NET MVC 3.0安全API,因为我已删除了与ASP.NET MVC很久以前运ASP.NET成员类和我已经实现了我自己。

此外,我强烈建议删除ASP.NET MVC成员资格类如果用户有一个特殊的含义和其他属性,而不仅仅是问题域中的用户名/密码。

+0

只做了一些更多的研究,发现它存储在ASPNETDB.MDF文件它会在App_Data文件夹中自动创建。 – Seth

0

设置当你的成员资格提供你会遇到一个regsql命令,将在您的数据存储(无论商店,你正在使用)创建模式,并把连接字符串中你的web.config。你可以使用.Net有一个提供者(ORACLE,MYSQL,SQLite,SQL Server,MS Access等)的任何数据存储。

1

您需要设置成员资格数据库。

如果不存在,您可以通过以下对this blog

的步骤,您需要运行aspnet_regsql.exe工具,并按照向导中的步骤做手工。这将创建您需要的各种表格。

More information from the MSDN

ASP.NET成员资格给你一个内置的方法来验证和存储用户凭据。

默认提供程序将成员资格信息存储在Microsoft SQL Server数据库中。