public permission AddPermission(objectRbac mObject, operation mOperation, string PermissionName) { throw new Exception("This method have not Implement."); }
private objectRbac Mapping(objectRbac mObject) { objectRbac tempObject; if (mObject.objectid > 0) tempObject = ObjectSrv.Getbykey(mObject.objectid); else { tempObject = ObjectSrv.GetByName(mObject.name, App.AppID); } return tempObject; }
public void AddObject(objectRbac mObject) { mObject.AppID = App.AppID; ObjectSrv.CreateNew(mObject); }
public IList<operation> RoleOperationsOnObject(role mRole, objectRbac mObject) { role TempRole = Mapping(mRole); objectRbac TempObject = Mapping(mObject); if(TempRole.AppID != App.AppID || TempObject.AppID != App.AppID) return null ; return (from per in TempRole.Permissions where (per.ObjectRBAC == TempObject) select per.Operation).ToList<operation>(); }
public IList<operation> UserOperationsOnObject(user mUser, objectRbac mObject) { IList<operation> _ret = new List<operation>(); objectRbac TempObject = Mapping(mObject); IList<role> Role_Lst = AuthorizedRoles(mUser); foreach (role r in Role_Lst) { List<operation> operationLst = (from per in r.Permissions where (per.ObjectRBAC == TempObject) select per.Operation).ToList<operation>(); foreach (operation op in operationLst) { if (!_ret.Contains(op)) _ret.Add(op); } } return _ret; }
public void RevokePermission(operation mOperation, objectRbac mObject, role mRole) { role TempRole = Mapping(mRole); if (TempRole == null) throw new Exception("Role Does not exist in system."); objectRbac tempObject = Mapping(mObject); operation tempOperation = Mapping(mOperation); if (tempOperation == null || tempObject == null) return; //Grant permission string hsql = "from permission per where per.ObjectRBAC = :ObjectRBAC AND per.Operation = :Operation "; List<permission> _lst = PermissionSrv.GetbyHQuery(hsql, new SQLParam("ObjectRBAC", tempObject), new SQLParam("ObjectRBAC", tempOperation)); permission TempPermission = (_lst == null || _lst.Count == 0) ? null : _lst[0]; if (TempPermission != null) { if (TempRole.Permissions.Contains(TempPermission)) { TempRole.Permissions.Remove(TempPermission); RoleSrv.CommitChanges(); } } }
public void GrantPermission(objectRbac mObject, operation mOperation, role mRole) { role TempRole = Mapping(mRole); if (TempRole == null) throw new Exception("Role Does not exist in system."); objectRbac tempObject = Mapping(mObject); operation tempOperation = Mapping(mOperation); //Grant permission string hsql = "from permission per where per.ObjectRBAC = :ObjectRBAC AND per.Operation = :Operation "; List<permission> _lst = PermissionSrv.GetbyHQuery(hsql, new SQLParam("ObjectRBAC", tempObject), new SQLParam("ObjectRBAC", tempOperation)); permission TempPermission = (_lst == null || _lst.Count == 0) ? null : _lst[0]; if (TempPermission == null) { TempPermission = new permission(); TempPermission.AppID = App.AppID; TempPermission.name = tempObject.name + ":" + tempOperation.name; TempPermission.ObjectRBAC = tempObject; TempPermission.Operation = tempOperation; PermissionSrv.CreateNew(TempPermission); TempRole.Permissions.Add(TempPermission); RoleSrv.CommitChanges(); } else { if (!TempRole.Permissions.Contains(TempPermission)) { TempRole.Permissions.Add(TempPermission); RoleSrv.CommitChanges(); } } }
public void DeleteObject(objectRbac mObject) { objectRbac tempObject = Mapping(mObject) ; if (tempObject != null) ObjectSrv.Delete(tempObject); ObjectSrv.CommitChanges(); }
public bool CheckAccess(session mSession, operation mOperation, objectRbac mObject) { throw new Exception("This method have not Implement."); }
public void InstallObject(string mObject, string[] mOperations) { if (_App == null) return; objectRbac tempObject = ObjectSrv.GetByName(mObject, _App.AppID); if (tempObject != null) return; tempObject = new objectRbac(); tempObject.AppID = _App.AppID; tempObject.name = mObject; ObjectSrv.CreateNew(tempObject); foreach (string ope in mOperations) { operation TempOpe = OperationSrv.GetByName(ope, _App.AppID); if (TempOpe == null) { TempOpe = new operation(); TempOpe.name = ope; TempOpe.AppID = _App.AppID; OperationSrv.CreateNew(TempOpe); } permission TempPermission = new permission(); TempPermission.AppID = _App.AppID; TempPermission.name = tempObject.name + ":" + TempOpe.name; TempPermission.ObjectRBAC = tempObject; TempPermission.Operation = TempOpe; PermissionSrv.CreateNew(TempPermission); } PermissionSrv.CommitChanges(); }