1

要使用[Authorize],[Authorize(Roles="")],[Authorize(Users="")]屬性,我應該在MembershipProvider和RoleProvider中重寫哪些方法?我應該爲授權屬性重寫哪些成員資格和角色提供者方法?

public class CustomMembershipProvider : MembershipProvider 
{ 
    // which methods are required? 
    ... 
} 

public class CustomRoleProvider : RoleProvider 
{ 
    // which methods are required? 
    ... 
} 

任何建議,文章,教程?

+0

@downvoter,留下評論 –

回答

2

您需要覆蓋以下方法才能使MembershipProviderRoleProvider正常工作。

public class CustomMembershipProvider : MembershipProvider 
{  
    public override bool ValidateUser(string username, string password) 
    {    
    } 

    public override MembershipUser GetUser(string username, bool userIsOnline) 
    {   
    } 
} 

public class CustomRoleProvider : RoleProvider 
{ 
    public override bool IsUserInRole(string username, string roleName) 
    { 
    } 

    public override string[] GetRolesForUser(string username) 
    { 
    } 
} 

或者如果你只是想Authorize過濾器的工作,你可以自己簡單地create Principal object

+0

非常感謝... –

+0

GetUser可能是不必要的,對不對? –

+0

是的,'GetUser'不是必需的,雖然'ValidateUser'是必須的。 – Win

相關問題