2011-05-07 62 views

回答

5

请参阅MSDN上的Implementing a Membership Provider,以获得关于如何通过从MembershipProvider继承来创建自定义成员资格提供程序的完整详细说明。就静态的课程而言,无法扩展它;你不能重写静态方法。无论如何,它只是代表MembershipProvider的一个实例,所以您不想扩展Membership类,您只需设置您的配置,以便调用新的MembershipProvider。

0

对于那些谁想要扩展现有的供应商,是这样的:

using System; 
using System.Web; 
using System.Web.Security; 

namespace System.Web.MVC_Extensions 
{ 
    public static class SqlMembershipProviderExtensions 
    { 
     public static string GenerateAccessToken(this MembershipProvider provider, string username, int expiresInMinutes) 
     { 
      if (provider.GetType().Name != "SqlMembershipProvider") 
       throw new NotSupportedException("Access tokens only supported by SqlMembershipProvider."); 

      ... 
     } 

     public static bool ValidateAccessToken(this MembershipProvider provider, string username, string token) 
     { 
      if (provider.GetType().Name != "SqlMembershipProvider") 
       throw new NotSupportedException("Access tokens only supported by SqlMembershipProvider."); 

      ... 
     } 
    } 
} 
相关问题