0

过去,我使用默认的 SQL Membership 提供程序来保护网站。这工作得很好,但需要创建 ASP_Authentication 数据库(使用 reg_sql 工具)和数十个表/存储过程等。

我现在有一个每月 10 英镑的主机上的简单网站。作为交易的一部分,我获得了一个 SQL Server 实例,但无法通过 SQL Management Studio 连接到它。我无法运行 reg_sql 工具,甚至无法从先前生成的数据库中获取脚本并运行它。

实际上, ASP_Authentication 数据库对于我需要的东西来说太过分了。我只是一个简单的用户名/登录存储,我可以对其进行身份验证。我不需要组/角色等。

有谁知道描述如何做到这一点的好博客文章或类似文章?

非常感谢

抢。

4

3 回答 3

0

不确定您使用的是 ASP.NET WebForms 还是 MVC,但我创建了一个 NuGet 包以在 ASP.NET MVC3 中启用 SimpleMembership:http: //nuget.org/List/Packages/SimpleMembership.Mvc3

这是来自 ASP.NET WebPages/WebMatrix 的 SimpleMembership API。非常简单且功能齐全。

它也应该适用于 ASP.NET WebForms。

于 2011-10-11T15:15:16.463 回答
0

你应该看看这篇文章,它显示了适合你使用的 simplemembership 的功能 http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers- and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx

于 2012-08-30T16:54:37.747 回答
0

如果您只想要一个简单的登录机制,我建议您坚持使用 sql 成员资格。您不必使用角色或任何附加功能,例如秘密问题/答案。

通过命令行

您可以在本地使用 aspnet_regsql 工具来生成 sql 脚本。您必须有权使用某种工具来管理数据库,所以也许这对您来说就足够了吗?

我写了一篇关于通过命令行使用这个工具的文章。我还解决了仅添加您实际想要使用的表格的问题(不需要个性化、Web 部件等表格)。

这篇文章在我的博客上:

它没有介绍如何将 sql 脚本转储到文件中,但它确实给了你一个提示(它说你可以使用 -? 来查看所有命令行参数)。打开命令窗口(开始 | 运行 | cmd | 回车)并输入:

asp.net v2:

cd C:\Windows\Microsoft.NET\Framework\v2.0.50727\
aspnet_regsql.exe -sqlexportonly C:\aspnetmembership.sql -A mrp

asp.net v4:

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\
aspnet_regsql.exe -sqlexportonly C:\aspnetmembership.sql -A mrp

如果 v4 不起作用,请查看下一个并使用其中最新的 v4 文件夹。

aspnetmembership.sql然后,您将在 C: 驱动器的根目录中找到一个名为的文件,您可以将其与它们提供的任何数据库管理一起使用。

通过代码

还有另一种设置表格的选项,社区通常不太为人所知;您实际上可以通过 System.Web.Management 命名空间中的方法来完成。我在一篇文章中学到了这种技术,Peter Bromberg并把它藏起来。它是一个简单的单行:

Management.SqlServices.Install("server", "USERNAME", "PASSWORD", "databasename", SqlFeatures.All)

你可以在这里阅读他的其他建议

自定义会员提供者

不过,要真正回答您的问题,网络上有大量文章解释了如何创建自定义会员提供程序:

如果您决定“自己动手”,那么请坚持计划并使用会员提供者框架,而不是从头开始编写自己的框架。

于 2011-07-13T21:49:53.100 回答