/ / Uzyskaj wszystkie role użytkowników w DNN - asp.net, dotnetnuke, role

Uzyskaj wszystkie role użytkowników w DNN - asp.net, dotnetnuke, role

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;

}
}

Powyżej jest mój kod, aby uzyskać role dla wielu celów i tej predefiniowanej metody DNN. Ale kiedy próbuję uzyskać identyfikator roli dla Wszyscy użytkownicy(Domyślna rola DNN) daje błąd. Ponieważ ta rola nie ma identyfikatora portalu. Czy możesz doradzić, czy istnieje sposób na uzyskanie tego bez twardego kodu id roli.

Odpowiedzi:

4 dla odpowiedzi № 1

Proszę bardzo...

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

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

Ale identyfikator dla All Users jest zawsze -1 dla każdego portalu.

Dla Superusers jego -2

Dla Unauthenticated Users jego -3

Zauważ, że Administrator RoleID jest różne dla każdego portalu