2009-06-16 7 views
1

Comment changer le mot de passe de l'utilisateur connecté (et de n'importe quel champ du profil utilisateur) si j'utilise Silverlight Business Application?Comment changer le mot de passe de l'utilisateur?

+0

S'il vous plaît donner plus de détails sur la question. Quel mécanisme utilisez-vous pour stocker et gérer les mots de passe? Est-ce fournisseur d'adhésion? –

+0

Oui, il utilise le fournisseur d'appartenance par défaut. Tous les paramètres de l'application par défaut. – FFire

Répondre

1

Donc, j'ai créé DomainService avec une seule méthode:

[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

Il n'existe aucun mécanisme intégré pour modifier le mot de passe dans Silverlight. Vous devez implémenter votre propre service pour cela.

Par exemple:

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

Si cela répond à votre question, s'il vous plaît "marquer comme réponse".

Questions connexes