我已经完成了本教程,它非常有帮助: 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
有谁知道在哪里可以找到创建成员的更新代码?是的,我花了一些时间在谷歌上看,但我能找到的只是较旧的代码。
答案 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");