管理员使用SimpleMembership中的用户名重置或恢复用户密码

时间:2015-06-17 17:11:10

标签: asp.net-mvc-4 simplemembership user-roles

我正在使用ASP.Net MVC 4应用程序,它使用SimpleMembership我有两种类型的用户,一种是普通用户,另一种是管理员。我正在尝试添加一项功能,管理员可以通过输入用户名并键入新密码来重置普通用户的密码,然后他可以手动将新密码发送给用户。

我可以使用SimpleMemberShip获得此功能的好方法吗?

1 个答案:

答案 0 :(得分:0)

嗯,您当然可以将用户帐户的密码更改为代码中的任何内容。

要使用MembershipProvider的任何子类(即WebMatrix.WebData.SimpleMembershipProvider)更改帐户的密码,您必须首先检索(或提供)当前密码。假设您有办法查询数据库,一种方法是从数据库中获取存储的密码。如果将其存储为加密值,则可以使用提供程序Decrypt方法并将生成的字节数组转换为字符串值。

How convert byte array to string

然后,使用SimpleMembershipProvider方法ChangePassword,提供用户名,oldpassword和新密码。此方法的结果是一个布尔值,指示更改是否成功。

从安全角度来看,如果您要为管理员创建MVC表单视图,我确保处理该处理的控制器操作是安全的,并且只允许经过身份验证的管理员使用它。如果您还没有这样做,则需要实施角色的使用,或者至少在该操作的[授权]属性中指定特定的用户名。

如果您需要所有这些代码,我建议您开始赏金。