2016-09-15 80 views
0
public DnnRole GetDnnRoleByName(int portalId, string dnnRoleName) 
     { 
      DnnRole role = null; 
      try 
      {     
       RoleController rc = new RoleController(); 
       RoleInfo dnnRole = rc.GetRoleByName(portalId, dnnRoleName); 

       if (dnnRole != null) 
       { 
        role = new DnnRole(); 
        role.Id = dnnRole.RoleID; 
        role.RoleName = dnnRole.RoleName; 
        role.Description = dnnRole.Description; 

       } 
      } 

以上是我的代碼,用於獲取用於多種用途的角色和此DNN預定義的方法。但是,當我嘗試獲取所有用戶(DNN默認角色)的角色ID時,它會給出錯誤。因爲這個角色沒有門戶標識。你可以請諮詢有沒有什麼辦法可以得到這個硬編碼的角色ID。獲取DNN中的所有用戶角色

回答

3

在這裏你去...

RoleController RoleController = new RoleController(); 
IList<RoleInfo> roleInfoArr = RoleController.GetRoles(PortalId); 

foreach (RoleInfo roleInfo in roleInfoArr) 
{ 
    if (roleInfo.RoleName == "All Users") 
    { 
     Response.Write(roleInfo.RoleID); 
    } 
} 

All Users的ID總是-1每一個門戶網站。

對於Superusers-2

對於Unauthenticated Users-3

注意,Administrator角色ID爲每門

+0

你可以請指教不同,如果我有同樣的DNN實例中超過2個門戶網站。那麼這個所有用戶角色對於這兩個門戶都是常見的?這是我使用門戶Id的主要關注點。 –

+0

是的,每個入口的ID總是-1。請參閱DNN數據庫中的「角色」表。 – VDWWD

+0

非常感謝,這節省了我很多時間。 –

相關問題