如何更改用户密码?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更改用户密码?相关的知识,希望对你有一定的参考价值。

如果我使用Silverlight业务应用程序,如何更改登录用户(以及用户配置文件中的任何字段)的用户密码?

答案

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

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

另一答案

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

[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; 
 } 
}
另一答案

尝试:

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

以上是关于如何更改用户密码?的主要内容,如果未能解决你的问题,请参考以下文章

更改片段后如何取消显示堆叠的吐司?

如何区分“用户下次登录必须更改密码”和“密码错误”用例?

如何防止用户更改密码后阅读?

如何从活动中更改片段中视图的可见性

如何强制 Access 更改无 DSN 的 ODBC 连接的用户名和密码?

Ubuntu系统如何更改用户密码