2009-06-16 164 views
1

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

+0

请提供关于这个问题的更多细节。你使用什么机制来存储和管理密码?它是会员提供商吗? – 2009-06-16 22:16:12

回答

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

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

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