EF的ASP.NET成员资格提供者

Dar*_*der 7 c# asp.net entity-framework asp.net-mvc-3

我一直在使用ASP.NET成员资格提供程序,它一直很好地服务于我的基本目的.我意识到的一件事是,它将一堆Stored Procs等安装到数据库中.

是否有ASP.NET成员资格的EF实现?还是会有?

我有一个即将到来的项目,我需要通过一些GUI扩展成员资格提供者的功能和角色和授权.

此外,每次我使用它时,我在web.config中有两个连接字符串,一个用于DbContext,一个用于Application服务,特别是对于Membership provider.为什么我不能只有一个?

Gar*_*lie 0

有适用于 MVC3 的 GUI 会员管理系统,您可以查看或添加到您的项目中。

您可以尝试一下它们,看看它们是如何工作的。一旦您知道在哪里查找并且可以创建自己的,那就很简单了。

Membership ClassMembershipUser Class保存所有用户信息。例如,要取消批准用户,您可以执行以下操作:

MembershipUser user = Membership.GetUser("userName");
user.IsApproved = false;
Membership.UpdateUser(user);
Run Code Online (Sandbox Code Playgroud)

如果你想删除一个用户,你可以使用Membership.DeleteUser("userName");.

角色包含所有角色相关信息。LikeRoles.GetUsersInRole("roleName")将返回角色中所有用户的列表roleNameRoles.CreateRole("roleName");将创建一个角色,并将Roles.DeleteRole("roleName");删除一个角色。

如果您需要的不仅仅是默认值,您可以查看实现会员资格提供程序

就拥有两个数据库而言,这是没有必要的。您可以使用该工具将所有 ASP.NET 表、存储过程等添加到数据库中Aspnet_regsql。查看使用 Aspnet_regsql.exe 安装数据库。这将允许您只有一个数据库,因此您可以删除您的 ASP.NET 连接字符串Web.Config,然后更改AspNetSqlMembershipProvider AspNetSqlProfileProvider AspNetSqlRoleProvider或更改其他数据库,以使用主数据库的连接字符串。