如何使用存储过程从ASPNETDB获取用户信息

时间:2011-10-24 17:57:51

标签: asp.net sql-server

在我的管理页面中,当管理员从网格视图中单击用户名时,我试图获取用户用户名,密码和电子邮件以重新填充控件。我似乎无法获得密码,因为它需要一个我找不到的参数(密码答案)。

我正在使用ASPNETDB数据库的存储过程。

 For Each usr As MembershipUser In Membership.GetAllUsers()
     Debug.Print(usr.Email)
     Debug.Print(usr.UserName)
     Debug.Print(usr.GetPassword("")) 'This line errors out
 Next

2 个答案:

答案 0 :(得分:4)

您必须打开Membership.EnablePasswordRetrieval Property。以下是MSDN的示例配置:

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
  <providers>
    <add name="SqlProvider"
      type="System.Web.Security.SqlMembershipProvider"
      connectionStringName="SqlServices"
      enablePasswordRetrieval="true"
      enablePasswordReset="false"
      requiresQuestionAndAnswer="false"
      passwordFormat="Encrypted"
      applicationName="MyApplication" />
  </providers>
</membership>

注意,您应该在ASP的Web.config文件的enablePasswordRetrieval="true"部分的membership部分中检查行system.web .NET应用程序。

答案 1 :(得分:1)

文档说明您需要将答案传递给密码问题才能接收密码。