代码之家  ›  专栏  ›  技术社区  ›  A1exandr Belan

如何更改用户密码?

  •  1
  • A1exandr Belan  · 技术社区  · 17 年前

    3 回复  |  直到 17 年前
        1
  •  2
  •   Alexander K.    17 年前

    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);
        }
        ...
    }
    

    如果这回答了你的问题,请“将其标记为答案”。

        2
  •  1
  •   A1exandr Belan    17 年前

    因此,我只使用一种方法创建了域服务:

    [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; 
     } 
    }
    
        3
  •  -1
  •   Nihal Saranga    8 年前

    尝试:

    [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);
        }
        ...
    }