2009-06-16 12 views
1

Wie kann ich das Benutzerpasswort für den angemeldeten Benutzer (und jedes Feld im Benutzerprofil) ändern, wenn ich Silverlight Business Application verwende?Wie kann ich das Benutzerpasswort ändern?

+0

Bitte mehr Details über die Frage geben. Mit welchem ​​Mechanismus speichern und verwalten Sie Kennwörter? Ist es ein Mitgliedschaftsanbieter? –

+0

Ja, es wird der standardmäßige Mitgliedschaftsanbieter verwendet. Alle Einstellungen der Anwendung standardmäßig. – FFire

Antwort

1

So schaffte ich Domain-Service mit nur einer Methode:

[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

Es gibt keinen eingebauten Mechanismus, um das Passwort in Silverlight zu ändern. Sie müssen dafür Ihren eigenen Dienst implementieren.

Zum Beispiel:

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

Wenn dies Ihre Frage beantwortet, bitte "als Antwort markieren".

Verwandte Themen