private CreateSecurableObject ( bool breaksInheritance ) : SecurableObject | ||
breaksInheritance | bool | |
return | SecurableObject |
internal ResponseObject BreakRootMapInheritance(GlymaSecurableObject securableObject) { ResponseObject response = new ResponseObject() { HasError = false }; try { GetSecurableContextIdResponse securableContextIdResponse = GetSecurableContextId(); if (!securableContextIdResponse.HasError) { int securableContextId = securableContextIdResponse.Result; SecurableObject obj = GetSecurableObject(securableContextId, securableObject.SecurableObjectUid); GlymaSecurableObjectContext securableObjectContext = new GlymaSecurableObjectContext(this, securableContextId, securableObject); if (obj == null) { obj = securableObjectContext.CreateSecurableObject(true); } if (!obj.BreaksInheritance) { securableObjectContext.SetSecurableObjectInheritance(true); } CopyGroupAssociationsToRootMap(securableObject); } } catch (Exception ex) { response.HasError = true; response.ErrorMessage = ex.Message; } return(response); }
internal GetSecurityAssociationsResponse RestoreRootMapInheritance(GlymaSecurableObject securableObject) { GetSecurityAssociationsResponse response = new GetSecurityAssociationsResponse() { HasError = false }; try { GetSecurableContextIdResponse securableContextIdResponse = GetSecurableContextId(); if (!securableContextIdResponse.HasError) { int securableContextId = securableContextIdResponse.Result; SecurableObject obj = GetSecurableObject(securableContextId, securableObject.SecurableObjectUid); GlymaSecurableObjectContext securableObjectContext = new GlymaSecurableObjectContext(this, securableContextId, securableObject); if (obj == null) { obj = securableObjectContext.CreateSecurableObject(false); } if (obj.BreaksInheritance) { securableObjectContext.SetSecurableObjectInheritance(false); } RemoveRootMapGroupAssociations(securableObject); GlymaSecurableObject parentObject = new GlymaSecurableObject(); parentObject.SecurableParentUid = Guid.Empty; parentObject.SecurableObjectUid = securableObject.SecurableParentUid; GetAllSecurityGroupsResponse res = GetAllGlymaSecurityGroups(); if (!res.HasError) { IList <GlymaSecurityGroup> groups = ConversionUtility.ConvertDictToList(res.Result); response = GetSecurityAssociations(groups, parentObject); } else { response.HasError = true; response.ErrorMessage = "Failed returning the Glyma security groups. " + res.ErrorMessage; } } else { response.HasError = true; response.ErrorMessage = "Failed to restore root map inheritance. " + securableContextIdResponse.ErrorMessage; } } catch (Exception ex) { response.HasError = true; response.ErrorMessage = ex.Message; } return(response); }
/// <summary> /// Adds a security association for a SharePoint group to the security DB /// </summary> /// <param name="breakInheritance">Whether it should have inheritance broken or not</param> /// <returns>A response object indicating if completed without error</returns> internal ResponseObject SetSecurityAssociation(bool breakInheritance) { ResponseObject result = new ResponseObject() { HasError = false }; try { if (Group != null) { Group group = Context.GetGroup(Group); //if (group == null) //{ // //Create the Group since it doesn't exist // group = this.CreateGroup(); //} bool response = this.HasAssociation(); if (!response) { SecurableObject so = Context.GetSecurableObject(Group.SecurableContextId, SecurableObject.SecurableObjectUid); GlymaSecurableObjectContext securableObjectContext = new GlymaSecurableObjectContext(Context, Group.SecurableContextId, SecurableObject); if (so == null) { so = securableObjectContext.CreateSecurableObject(breakInheritance); } //Create the group association since it doesn't exist this.CreateGroupAssociation(group.GroupId); } } else { result.HasError = true; result.ErrorMessage = "The Glyma security group was not known."; } } catch (Exception ex) { result.HasError = true; result.ErrorMessage = ex.Message; } return(result); }
internal GetSecurityAssociationsResponse RestoreRootMapInheritance(GlymaSecurableObject securableObject) { GetSecurityAssociationsResponse response = new GetSecurityAssociationsResponse() { HasError = false }; try { GetSecurableContextIdResponse securableContextIdResponse = GetSecurableContextId(); if (!securableContextIdResponse.HasError) { int securableContextId = securableContextIdResponse.Result; SecurableObject obj = GetSecurableObject(securableContextId, securableObject.SecurableObjectUid); GlymaSecurableObjectContext securableObjectContext = new GlymaSecurableObjectContext(this, securableContextId, securableObject); if (obj == null) { obj = securableObjectContext.CreateSecurableObject(false); } if (obj.BreaksInheritance) { securableObjectContext.SetSecurableObjectInheritance(false); } RemoveRootMapGroupAssociations(securableObject); GlymaSecurableObject parentObject = new GlymaSecurableObject(); parentObject.SecurableParentUid = Guid.Empty; parentObject.SecurableObjectUid = securableObject.SecurableParentUid; GetAllSecurityGroupsResponse res = GetAllGlymaSecurityGroups(); if (!res.HasError) { IList<GlymaSecurityGroup> groups = ConversionUtility.ConvertDictToList(res.Result); response = GetSecurityAssociations(groups, parentObject); } else { response.HasError = true; response.ErrorMessage = "Failed returning the Glyma security groups. " + res.ErrorMessage; } } else { response.HasError = true; response.ErrorMessage = "Failed to restore root map inheritance. " + securableContextIdResponse.ErrorMessage; } } catch (Exception ex) { response.HasError = true; response.ErrorMessage = ex.Message; } return response; }
internal ResponseObject BreakRootMapInheritance(GlymaSecurableObject securableObject) { ResponseObject response = new ResponseObject() { HasError = false }; try { GetSecurableContextIdResponse securableContextIdResponse = GetSecurableContextId(); if (!securableContextIdResponse.HasError) { int securableContextId = securableContextIdResponse.Result; SecurableObject obj = GetSecurableObject(securableContextId, securableObject.SecurableObjectUid); GlymaSecurableObjectContext securableObjectContext = new GlymaSecurableObjectContext(this, securableContextId, securableObject); if (obj == null) { obj = securableObjectContext.CreateSecurableObject(true); } if (!obj.BreaksInheritance) { securableObjectContext.SetSecurableObjectInheritance(true); } CopyGroupAssociationsToRootMap(securableObject); } } catch (Exception ex) { response.HasError = true; response.ErrorMessage = ex.Message; } return response; }
/// <summary> /// Adds a security association for a SharePoint group to the security DB /// </summary> /// <param name="breakInheritance">Whether it should have inheritance broken or not</param> /// <returns>A response object indicating if completed without error</returns> internal ResponseObject SetSecurityAssociation(bool breakInheritance) { ResponseObject result = new ResponseObject() { HasError = false }; try { if (Group != null) { Group group = Context.GetGroup(Group); //if (group == null) //{ // //Create the Group since it doesn't exist // group = this.CreateGroup(); //} bool response = this.HasAssociation(); if (!response) { SecurableObject so = Context.GetSecurableObject(Group.SecurableContextId, SecurableObject.SecurableObjectUid); GlymaSecurableObjectContext securableObjectContext = new GlymaSecurableObjectContext(Context, Group.SecurableContextId, SecurableObject); if (so == null) { so = securableObjectContext.CreateSecurableObject(breakInheritance); } //Create the group association since it doesn't exist this.CreateGroupAssociation(group.GroupId); } } else { result.HasError = true; result.ErrorMessage = "The Glyma security group was not known."; } } catch (Exception ex) { result.HasError = true; result.ErrorMessage = ex.Message; } return result; }