我正在使用ASP.Net MVC 4
应用程序,它使用SimpleMembership
我有两种类型的用户,一种是普通用户,另一种是管理员。我正在尝试添加一项功能,管理员可以通过输入用户名并键入新密码来重置普通用户的密码,然后他可以手动将新密码发送给用户。
我可以使用SimpleMemberShip
获得此功能的好方法吗?
答案 0 :(得分:0)
嗯,您当然可以将用户帐户的密码更改为代码中的任何内容。
要使用MembershipProvider的任何子类(即WebMatrix.WebData.SimpleMembershipProvider)更改帐户的密码,您必须首先检索(或提供)当前密码。假设您有办法查询数据库,一种方法是从数据库中获取存储的密码。如果将其存储为加密值,则可以使用提供程序Decrypt方法并将生成的字节数组转换为字符串值。
How convert byte array to string
然后,使用SimpleMembershipProvider方法ChangePassword,提供用户名,oldpassword和新密码。此方法的结果是一个布尔值,指示更改是否成功。
从安全角度来看,如果您要为管理员创建MVC表单视图,我确保处理该处理的控制器操作是安全的,并且只允许经过身份验证的管理员使用它。如果您还没有这样做,则需要实施角色的使用,或者至少在该操作的[授权]属性中指定特定的用户名。
如果您需要所有这些代码,我建议您开始赏金。