如何更改用户密码?

时间:2009-06-16 16:07:17

标签: asp.net silverlight

如果我使用Silverlight Business Application,如何更改登录用户(以及用户个人资料中的任何字段)的用户密码?

3 个答案:

答案 0 :(得分:2)

在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 :(得分:1)

所以,我只用一种方法创建了域服务:

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

答案 2 :(得分:-1)

尝试:

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