Umbraco 7.7.3 以编程方式为新用户设置密码
Umbraco 7.7.3 Programmatically set password for a new User
我正在使用 UmbracoContext.Application.Services.UserService 在 umbraco 7.7.3 中以编程方式创建用户(不是成员!),如下所示:
user = userService.CreateUserWithIdentity(someMailAddress, someMailAddress);
user.AddGroup((UserGroup)someGroup);
user.StartMediaId = someMediaId;
user.StartContentId = SomeContentId;
userService.Save(user);
userService.SavePassword(user,password);
用户已正确创建。
我没有使用方法 userService.CreateWithIdentity 因为我需要提供散列密码,而且我不知道如何散列我想要的默认密码给那些新用户。
我正在尝试使用 userService.SavePassword() 方法,但我收到异常提示:“此提供商不支持手动更改密码”
我在某处读到我应该将 UmbracoMembershipProvider 元素中的属性 allowManuallyChangingPassword 设置为 web.config 中的 true,但它对我不起作用。
任何帮助将不胜感激:)
UmbracoMembershipProvider
指的是成员,而不是用户,因此在这种情况下,您应该将此值更改为 UsersMembershipProvider
。
您也可以尝试为新创建的用户设置 RawPasswordValue
属性:
user.RawPasswordValue = (Membership.Providers["UsersMembershipProvider"] as UsersMembershipProvider).HashPasswordForStorage(password);
我正在使用 UmbracoContext.Application.Services.UserService 在 umbraco 7.7.3 中以编程方式创建用户(不是成员!),如下所示:
user = userService.CreateUserWithIdentity(someMailAddress, someMailAddress);
user.AddGroup((UserGroup)someGroup);
user.StartMediaId = someMediaId;
user.StartContentId = SomeContentId;
userService.Save(user);
userService.SavePassword(user,password);
用户已正确创建。
我没有使用方法 userService.CreateWithIdentity 因为我需要提供散列密码,而且我不知道如何散列我想要的默认密码给那些新用户。
我正在尝试使用 userService.SavePassword() 方法,但我收到异常提示:“此提供商不支持手动更改密码”
我在某处读到我应该将 UmbracoMembershipProvider 元素中的属性 allowManuallyChangingPassword 设置为 web.config 中的 true,但它对我不起作用。
任何帮助将不胜感激:)
UmbracoMembershipProvider
指的是成员,而不是用户,因此在这种情况下,您应该将此值更改为 UsersMembershipProvider
。
您也可以尝试为新创建的用户设置 RawPasswordValue
属性:
user.RawPasswordValue = (Membership.Providers["UsersMembershipProvider"] as UsersMembershipProvider).HashPasswordForStorage(password);