【问题标题】:Reset or recover a user's password by an admin using a username in SimpleMembership管理员使用 SimpleMembership 中的用户名重置或恢复用户密码
【发布时间】:2015-09-03 01:45:18
【问题描述】:

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

有没有什么好的方法可以使用SimpleMemberShip 来获得这个功能?

【问题讨论】:

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


    【解决方案1】:

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

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

    How convert byte array to string

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

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

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

    【讨论】:

    • 嗯,我知道我当然可以为用户帐户设置一个我喜欢的密码,但不确定我是否可以在简单的会员资格中处理
    猜你喜欢
    • 1970-01-01
    • 2018-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 2020-06-23
    相关资源
    最近更新 更多