有一种简单的方法可以在自定义数据库中设置ASP.NET成员资格表吗?

时间:2010-10-26 11:17:17

标签: asp.net-mvc-2 data-structures asp.net-membership

ASP.NET成员资格非常棒,因为有大量功能可供使用,我们根本不需要改变任何内容。

我们甚至可以基于会员数据库创建我们自己的提供商,这给了我们无限的可能性,就像我不喜欢问题/答案我只是使用通过重置链接发送的电子邮件。

但这都是用 SQLEXPRESS .mdf文件完成的,我想使用自己的数据库,所以我可以使用SQL Server Enterprise,就像我们在Office而不是Express一样版。

  

如何在我自己的数据库中轻松使用ASP.NET Membership表?

几年前我记得我们需要使用aspnet_reg(某些东西)来创建正确的表格,但我再也找不到这些信息了。

我还尝试使用其他会员提供商,即来自CodePlexAltairis.Web.Security,并看到了Chris Pels Video on creating a new Membership Provider

Altairis解决方案中,模型不完整,缺少几个应用程序,例如几个应用程序,因为它只与一个一起使用,而且Chris Pels包含了我需要手工创建的许多存储过程。

我是给克里斯代码一个去,但我只是想知道是否有更容易的东西。

所有这些都将集成在ASP.NET MVC 2 Web应用程序中。

由于

3 个答案:

答案 0 :(得分:8)

您有3个选项:

  1. 通过运行aspnet_regsql.exe来执行此操作:只需打开“开始菜单>所有程序> Microsoft Visual Studio 2010> Visual Studio工具> Visual Studio命令提示符(2010)”,然后键入aspnet_regsql 。将出现一个向导,您可以选择所需的数据库。

  2. 通过API执行此操作:使用System.Web.Management.SqlServices类及其InstallUninstall方法。这将以编程方式安装/卸载数据库工件。

  3. 手动执行:转到C:\Windows\Microsoft.NET\Framework\v4.0.30319或类似内容。您将找到以Install开头的9个.sql文件和以uninstall开头的9个.sql文件。您可以在数据库中手动运行它们以创建所需的表/存储过程/等。但请考虑在sql脚本中更改数据库名称。默认数据库名称为aspnetdb

答案 1 :(得分:2)

这是aspnet_regsql

在以下路径下: C:\ Windows \ Microsoft.NET \框架\ v4.0.30319 \ aspnet_regsql

答案 2 :(得分:0)

您需要打开Visual Studio命令提示符,导航到C:\ WINDOWS \ Microsoft.NET \ Framework \\ aspnet_regsql.exe。一些示例位于the MSDN documentation

示例: aspnet_regsql.exe -E -S localhost -A mr - 使用Windows身份验证在运行SQL Server的本地计算机上安装数据库元素以进行成员资格和角色管理。