Как изменить пароль пользователя? - PullRequest
1 голос
/ 16 июня 2009

Как изменить пароль пользователя для входа в систему (и любого поля в профиле пользователя), если я использую Silverlight Business Application?

Ответы [ 3 ]

2 голосов
/ 17 июня 2009

В Silverlight нет встроенного механизма смены пароля. Для этого вам нужно создать собственный сервис.

Например:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class SecurityService : ISecurityService
{
    public bool ChangePassword(string oldPassword, string newPassword)
    {
        if(!HttpContext.Current.User.Identity.IsAuthenticated)
            return false;

        return Membership.Provider.ChangePassword(HttpContext.Current.User.Identity.Name, oldPassword, newPassword);
    }
    ...
}

Если это отвечает на ваш вопрос, пожалуйста, «пометьте его как ответ».

1 голос
/ 18 июня 2009

Итак, я создал доменную службу только одним методом:

[EnableClientAccess()] 
public class DomainChangePassword : DomainService 
{ 
 [ServiceOperation] 
 public bool UserChangePassword(string userName, string oldPassword, string newPassword) 
 { 
  if (Membership.ValidateUser(userName, oldPassword)) 
  { 
   MembershipUser memUser = Membership.GetUser(userName); 
   return memUser.ChangePassword(oldPassword, newPassword); 
  } 
  return false; 
 } 
}
0 голосов
/ 08 сентября 2018

попробовать:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class SecurityService : ISecurityService
{
    public bool ChangePassword(string oldPassword, string newPassword)
    {
        if(!HttpContext.Current.User.Identity.IsAuthenticated)
            return false;

        return Membership.Provider.ChangePassword(HttpContext.Current.User.Identity.Name, oldPassword, newPassword);
    }
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...