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 № 1Proszę 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