2013-03-10 36 views
0

Table for Custom Membership如何重寫MVC 4自定義成員身份的IsInRole方法?

Data for Custom Membership

我很新的MVC。我正在做一個自定義會員asp.net MVC4。以上是我創建的表格&數據。我嘗試覆蓋isinrole方法,但它不工作。下面是示例代碼&我不知道在哪裏編輯它。

 public override bool IsUserInRole(string userName, string roleName) 
    { 
     User user = repository.GetUser(userName); 
     Role role = repository.GetRole(roleName); 

     if (!repository.UserExists(user)) 
      return false; 
     if (!repository.RoleExists(role)) 
      return false; 

     return user.Name == role.Name; 
    } 

現在我需要讓角色列表從UserInRole表用戶,但該表不是visible.I必須檢查用戶角色是否與User.IsInRole("Administrator")。希望任何人都可以匹配引導me.Thankü提前。

+0

具有與角色相同的名稱如何確定用戶是否處於特定角色?爲什麼不直接使用Membership API? – levelnis 2013-03-10 11:23:46

回答

0

它不起作用,因爲您將角色名稱與用戶名(「a」!=「Administrator」)進行比較。你需要更多這樣的東西。

public override bool IsUserInRole(string userName, string roleName) 
{ 
    User user = repository.GetUser(userName); 
    Role role = repository.GetRole(roleName); 

    if (!repository.UserExists(user)) 
     return false; 
    if (!repository.RoleExists(role)) 
     return false; 

    return user.Role.ID == role.ID; 
} 

它可能會有所不同,具體取決於您的實體如何設置。

相關問題