asp.net - 如何在我的域模型中实现 ASP.NET 成员资格提供程序

标签 asp.net architecture asp.net-membership

在网站中,我需要集成成员(member)资格和身份验证。所以我想使用 ASP.NET 成员(member)资格的功能,但我还有其他自定义的东西,这是“用户”必须做的。

所以我正拿着铅笔和纸坐在这里,为我的域模型画线...我怎样才能最好地利用 ASP.Net 成员(member)资格,同时扩展它来满足我的需求?

我应该创建一个从 MembershipUser 继承的类并使用我自己的属性和方法扩展它(并将其保存在单独的表中)。或者我应该让 MembershipUser 成为我的自定义用户/客户端对象的属性吗?

什么是一个好的、可靠的方法来做到这一点?

最佳答案

我想了一下,有两种看起来合适的方法(当然还有更多方法可以使其发挥作用)。

自定义成员(member)提供商

您将成员(member)资格提供商更改为使用您自己的,并使用您的用户对象来存储所有信息。

这个问题的问题在于它涉及到对 Asp.Net 已经很好处理的事情的大量重新实现。好处是您有一个包含所有详细信息的 User 对象。

从成员(member)用户到您的用户的链接

使用此方法,您将使用原始的成员(member)资格提供程序来处理用户名和密码,但您可以通过使用服务(例如,使用用户名)将您自己的 User 对象与此对象链接起来。

设置非常简单,您只需创建一个可以像这样使用的服务:

string userName = "Jon Skeet";
User user = new UserManagementServices().GetUserByUserName(userName);

关于asp.net - 如何在我的域模型中实现 ASP.NET 成员资格提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/811137/

相关文章:

ios - 我的应用程序在App Store上不支持iPhone 4s和5吗?

python - 存储站点/的恒定数据

javascript - 固定 Gridview 元素模板列宽和使用链接按钮查看详细信息

jquery - 使用 jQuery 的 GridView 向上和向下导航

c# - 信号R : Access Hub class from another project

python - 用 Python 构建一个最小的插件架构

c# - ASP.NET 成员资格 : how to set the user as logged in

c# - 在代码或存储过程中验证密码

ASP.Net MVC 检查 asp net 成员资格中用户的角色

javascript - 检测 JavaScript 文件的欺骗