如何访问MembershipProvider.GetPassword方法

时间:2012-03-30 08:38:52

标签: asp.net asp.net-mvc-3 asp.net-membership

我在ASP.NET MVC应用程序中实现了Membership Provider。成员资格提供者使用我已覆盖并实施的方法MembershipProvider.GetPassword

问题是如何从代码中访问此方法?我试过这样的Membership.GetPassword但是编译器给出了这样的方法不存在的错误。

2 个答案:

答案 0 :(得分:2)

也许ASP.NET论坛上的这个答案有帮助

http://forums.asp.net/t/1287776.aspx/1

它指向你...... http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.getpassword.aspx

文档说出以下内容:

  
    

作为输入,接收用户名和密码,并从数据源检索该用户的密码并返回密码     作为一个字符串。

  
     

GetPassword方法确保EnablePasswordRetrieval标志   在执行任何操作之前设置为true。如果   EnablePasswordRetrieval为false,NotSupportedException异常为   抛出。

     

GetPassword还会检查RequiresQuestionAndAnswer的值   属性。如果RequiresQuestionAndAnswer为true,则GetPassword会检查   提供的答案参数的值与存储的密码   在数据源中回答。如果他们不匹配,a   抛出MembershipPasswordException异常。

     

如果您的自定义成员资格提供程序支持散列密码,则   GetPassword方法应该抛出异常   EnablePasswordRetrieval属性设置为true和密码   format设置为Hashed。无法检索哈希密码。

HTH

答案 1 :(得分:1)

GetPassword方法未在Membership静态类中公开。因此,您只需使用Provider属性即可获取当前提供程序并调用您喜欢的任何方法:

var pwd = Membership.Provider.GetPassword("username", "answer");