Umbraco会员 - VS告诉我我的代码已经过时,但新代码在哪里?

时间:2012-10-12 11:43:54

标签: c# visual-studio c#-4.0 umbraco membership

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

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

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

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

3 个答案:

答案 0 :(得分:1)

Umbraco自4.5以来使用.net成员资格,甚至可能在此之前使用。

创建用户调用Membership.CreateUser方法

答案 1 :(得分: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类。

答案 2 :(得分: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");