我在我的应用程序中使用会员提供程序, 并为我的应用程序创建了管理面板
和在管理面板中显示在下拉列表中注册到我的应用程序的所有用户 并允许管理员编辑,删除
对于删除用户,我使用了此代码...
Membership.DeleteUser(UserName, true);
但是对于更改密码,我该如何处理(与我一起 UserId可用)
答案 0 :(得分:0)
您真的需要提供更多信息,您是从数据库加载所有这些用户吗? 如果是这样,这个sql语句应该这样做:
Update Membership set password = "new pass" where userID = id
但实际上,请尝试提供更多信息并更好地构建问题
答案 1 :(得分:0)
您使用的是哪个MembershipProvider?有许多,SimpleMembershipProvider,SqlMembershipProvider等。或者你使用自定义MembershipProvider?
如果您使用SimpleMembershipProvider
,则ChangePassword操作就像在WebSecurity
上调用ChangePassword一样简单,例如:
WebSecurity.ChangePassword(WebSecurity.CurrentUserName, oldPassword, newPassword);
如果您使用的是SqlMembershipProvider,则可以执行与以下代码类似的操作:
[HttpPost]
public ActionResult ChangePassword(ChangePasswordModel model)
{
string errorMsg = "";
if (ModelState.IsValid)
{
// ChangePassword will throw an exception. We rather
// want to return false in certain failure scenarios.
bool changePasswordSucceeded;
try
{
MembershipUser currentUser = Membership.GetUser(User.Identity.Name);
changePasswordSucceeded = currentUser.ChangePassword(model.OldPassword, model.NewPassword);
}
catch (Exception ex)
{
changePasswordSucceeded = false;
errorMsg = ex.Message;
}
return Json(new { Validated = changePasswordSucceeded, Message = errorMsg }, JsonRequestBehavior.AllowGet);
}
return View();
}
请回复您可能有的任何跟进问题。