[英]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.