如果您只想要一个简单的登录机制,我建议您坚持使用 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)
你可以在这里阅读他的其他建议。
自定义会员提供者
不过,要真正回答您的问题,网络上有大量文章解释了如何创建自定义会员提供程序:
如果您决定“自己动手”,那么请坚持计划并使用会员提供者框架,而不是从头开始编写自己的框架。