0

我已经完成了这个非常有帮助的教程:http: //www.blogfodder.co.uk/2011/12/31/umbraco-membership-templates

但是 VS 告诉我我所有的方法都过时了。它告诉我除了设置成员类型之外的所有内容的替换方法。最初这是在 Member.MakeNew 方法中通过传递 MemberType 作为参数来完成的。

我去过 Umbraco 网站并查看了有关会员资格的文档,但有一个很大的说明:“注意:此信息已过时,应更新。” http://our.umbraco.org/wiki/reference/api-cheatsheet/working-with-members

有谁知道我在哪里可以找到一些用于创建成员的更新代码?是的,我花了一些时间在谷歌上寻找,但我能找到的只是旧代码。

4

3 回答 3

1

Umbraco 从 4.5 开始使用 .net 成员资格,甚至可能在此之前。

要创建用户,请调用 Membership.CreateUser 方法

于 2012-10-13T14:20:38.077 回答
1

我已经成功地更新了我的代码以使用 .net 成员资格,而没有太多麻烦。

Membership.CreateUser(...) 替换 Member.MakeNew(...)

Roles.AddUserToRole(newMember,umbracoGroup) 替换 newMember.AddGroup(umbracoGroup.Id)。

但是根据这里的这篇文章http://our.umbraco.org/forum/developers/extending-umbraco/14614-Using-membership-provider-to-create-members-from-code,如果你使用.net会员,只能通过在 web.config 中设置来拥有 1 个 MemberType。

所以希望我能够坚持使用 1 个 MemberType,否则我将回滚我的代码以使用 Umbraco Membership 类。

于 2012-10-19T09:23:32.667 回答
1

如果您使用 umbraco 7 和 6 的某些更高版本,您可能想要这样做

IMember newMember = ApplicationContext.Current.Services.MemberService.CreateMember(emailAddress, emailAddress, memberName, memberTypeAlias);

或者

IMember newMember = ApplicationContext.Current.Services.MemberService.CreateMemberWithIdentity(emailAddress, emailAddress, memberName, memberTypeAlias);

然后

ApplicationContext.Current.Services.MemberService.Save(newMember);

保存新成员。在尝试添加到组之前,必须保存成员。要添加到 umbraco 7 中的组,请执行

ApplicationContext.Current.Services.MemberService.AssignRole(newMember.Id, "Group Name");
于 2015-08-18T13:37:26.900 回答