繁体   English   中英

简单 Asp.net 自定义会员提供程序

[英]Simple Asp.net Custom Membership Provider

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

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

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

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

非常感谢

抢。

你应该看看这篇文章,它显示了适合你使用的simplemembership的特点and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx

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

通过命令行

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

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

这篇文章在我的博客上:

它没有介绍如何将 sql 脚本转储到文件中,但它确实给了你一个提示(它说你可以使用 -? 查看所有命令行参数)。 打开命令 window(开始 | 运行 | 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 文件夹。

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

通过代码

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

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

您可以在此处阅读他的建议的 rest。

自定义会员提供者

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

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

Not sure if you're using ASP.NET WebForms or MVC, but I created a NuGet package to enable SimpleMembership in ASP.NET MVC3: http://nuget.org/List/Packages/SimpleMembership.Mvc3

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

它也应该与 ASP.NET WebForms 一起使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM