views:

243

answers:

2

How to change user password for logged in user (and any field in user profile) if I use Silverlight Business Application?

+1  A: 

There is no built in mechanism to change password in Silverlight. You need to implement your own service for that.

For example:

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

If this answers your question, please "mark it as answer".

Alexander K.
A: 

So, I created Domain Service with only one method:

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