gpt4 book ai didi

asp.net-mvc-4 - 如何使用SimpleMembership管理个人资料?

转载 作者:行者123 更新时间:2023-12-03 12:29:14 25 4
gpt4 key购买 nike

我有一个基于Internet模板的ASP.NET MVC 4网站。我正在使用通过该模板设置的SimpleMembership。

我可以修改已经为我创建的Users表,但是我不确定修改添加的额外字段的“正确”方法。我想要全名,电子邮件等并将它们添加到用户表中,但是似乎没有办法通过SimpleMembership WebSecurity。*静态方法进行更新。

您是否应该只是在SimpleMembership API之外使用EF自己更新这些属性?

最佳答案

1-您需要启用迁移,最好使用EntityFramework 5

2-移动您的

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "EmailAddress", autoCreateTables: true); 

到YourMvcApp / Migrations / Configuration.cs类中的Seed方法
    protected override void Seed(UsersContext context)
{
WebSecurity.InitializeDatabaseConnection(
"DefaultConnection",
"UserProfile",
"UserId",
"UserName", autoCreateTables: true);

if (!Roles.RoleExists("Administrator"))
Roles.CreateRole("Administrator");

if (!WebSecurity.UserExists("lelong37"))
WebSecurity.CreateUserAndAccount(
"lelong37",
"password",
new {Mobile = "+19725000000", IsSmsVerified = false});

if (!Roles.GetRolesForUser("lelong37").Contains("Administrator"))
Roles.AddUsersToRoles(new[] {"lelong37"}, new[] {"Administrator"});
}

现在,EF5将负责创建UserProfile表,执行此操作后,您将调用WebSecurity.InitializeDatabaseConnection以仅向已创建的UserProfile表注册SimpleMembershipProvider,并告知SimpleMembershipProvider哪一列是UserId和UserName。我还展示了一个示例,说明如何添加用户,角色并将Seed方法中的二者与 自定义UserProfile属性/字段相关联。用户的Mobile(数字)和IsSmsVerified

3-现在,当您从Package Manager控制台运行更新数据库时,EF5将为您的表提供所有自定义属性

有关其他引用,请引用带有源代码的本文:
http://blog.longle.net/2012/09/25/seeding-users-and-roles-with-mvc4-simplemembershipprovider-simpleroleprovider-ef5-codefirst-and-custom-user-properties/

关于asp.net-mvc-4 - 如何使用SimpleMembership管理个人资料?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12352218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com