/// <summary> /// Ищет в меню элемент со значением menuItemValue и если нету прав на этот элемент, то скрывает(удаляет) его из меню /// </summary> /// <param name="session"></param> /// <param name="menu"></param> /// <param name="service"></param> /// <param name="menuItemValue"></param> /// <param name="permissionCode"></param> public static void SetMenuItemByPermission(HttpSessionState session, Menu menu, ISecurityService service, string menuItemValue, PermissionCode permissionCode) { //чтобы избежать пересечения в сессии значений например для пункта редактировать на разных формах, в качестве имени берём код разрешения string name = permissionCode.ToString(); if (session[name] == null) { session[name] = service.GetIsCurrentUserAllowPermission(permissionCode); } SetMenuItemByValue(menu, menuItemValue, (bool)session[name]); }
public bool IsPermissionGranted(int?pageId, PermissionCode permissionCode) { bool result = false; if (_AllItems.IsNotNull()) { result = (from i in _AllItems where i.GroupId == BackEndSessions.CurrentUser.GroupId && i.PageId == pageId && i.PermissionCode.ToLower() == permissionCode.ToString().ToLower() select i).Count() > 0; } return(result); }
public PermissionCode pmCode; // permission code public override string ToString() { return(string.Format("{0}:{1}\n{2}", path, pmCode.ToString(), user.ToString())); }