public bool HasPropertyReadAccess(ISecurableObject securableObject, string propertyName, ISecurityPrincipal principal) { ArgumentUtility.CheckNotNull("securableObject", securableObject); ArgumentUtility.CheckNotNullOrEmpty("propertyName", propertyName); ArgumentUtility.DebugCheckNotNull("principal", principal); var methodInformation = _memberResolver.GetMethodInformation(securableObject.GetSecurableType(), "get_" + propertyName, MemberAffiliation.Instance); return(HasPropertyReadAccess(securableObject, methodInformation, principal)); }
public bool HasPropertyWriteAccess(ISecurableObject securableObject, MethodInfo methodInfo, ISecurityPrincipal principal) { ArgumentUtility.CheckNotNull("securableObject", securableObject); ArgumentUtility.CheckNotNull("methodInfo", methodInfo); ArgumentUtility.DebugCheckNotNull("principal", principal); var methodInformation = _memberResolver.GetMethodInformation(securableObject.GetSecurableType(), methodInfo, MemberAffiliation.Instance); return(HasPropertyWriteAccess(securableObject, methodInformation, principal)); }
public void GetSecurableType() { OrganizationalStructureTestHelper testHelper = new OrganizationalStructureTestHelper(); using (testHelper.Transaction.EnterNonDiscardingScope()) { ISecurableObject position = testHelper.CreatePosition("PositionName"); Assert.That(position.GetSecurableType(), Is.SameAs(typeof(Position))); } }
public void CheckPropertyWriteAccess(ISecurableObject securableObject, IMethodInformation methodInformation, ISecurityPrincipal principal) { ArgumentUtility.DebugCheckNotNull("securableObject", securableObject); ArgumentUtility.DebugCheckNotNull("methodInformation", methodInformation); ArgumentUtility.DebugCheckNotNull("principal", principal); if (!HasPropertyWriteAccess(securableObject, methodInformation, principal)) { ArgumentUtility.CheckNotNull("securableObject", securableObject); ArgumentUtility.CheckNotNull("methodInformation", methodInformation); throw CreatePermissionDeniedException( "Access to set-accessor of property '{0}' on type '{1}' has been denied.", methodInformation.Name, securableObject.GetSecurableType().FullName); } }
public void CheckPropertyReadAccess(ISecurableObject securableObject, string propertyName, ISecurityPrincipal principal) { ArgumentUtility.DebugCheckNotNull("securableObject", securableObject); ArgumentUtility.DebugCheckNotNullOrEmpty("propertyName", propertyName); ArgumentUtility.DebugCheckNotNull("principal", principal); if (!HasPropertyReadAccess(securableObject, propertyName, principal)) { ArgumentUtility.CheckNotNull("securableObject", securableObject); ArgumentUtility.CheckNotNullOrEmpty("propertyName", propertyName); throw CreatePermissionDeniedException( "Access to method '{0}' on type '{1}' has been denied.", propertyName, securableObject.GetSecurableType().FullName); } }
public virtual bool HasPropertyWriteAccess(ISecurableObject securableObject, IMethodInformation methodInformation, ISecurityPrincipal principal) { ArgumentUtility.CheckNotNull("securableObject", securableObject); ArgumentUtility.CheckNotNull("methodInformation", methodInformation); ArgumentUtility.DebugCheckNotNull("principal", principal); var requiredAccessTypeEnums = _permissionProvider.GetRequiredMethodPermissions(securableObject.GetSecurableType(), methodInformation); Assertion.DebugIsNotNull(requiredAccessTypeEnums, "IPermissionProvider.GetRequiredMethodPermissions evaluated and returned null."); if (requiredAccessTypeEnums.Count == 0) { requiredAccessTypeEnums = s_editAccessTypeEnumAsArray; } return(HasAccess(securableObject, methodInformation, requiredAccessTypeEnums, principal)); }
public void CheckMethodAccess(ISecurableObject securableObject, MethodInfo methodInfo, ISecurityPrincipal principal) { ArgumentUtility.DebugCheckNotNull("securableObject", securableObject); ArgumentUtility.DebugCheckNotNull("methodInfo", methodInfo); ArgumentUtility.DebugCheckNotNull("principal", principal); if (!HasMethodAccess(securableObject, methodInfo, principal)) { ArgumentUtility.CheckNotNull("securableObject", securableObject); ArgumentUtility.CheckNotNull("methodInfo", methodInfo); throw CreatePermissionDeniedException( "Access to method '{0}' on type '{1}' has been denied.", methodInfo.Name, securableObject.GetSecurableType().FullName); } }
public void GetSecurableType() { ISecurableObject tenant = TestHelper.CreateTenant("Tenant", "UID: Tenant"); Assert.That(tenant.GetSecurableType(), Is.SameAs(typeof(Tenant))); }
public void GetSecurableType() { ISecurableObject user = CreateUser(); Assert.That(user.GetSecurableType(), Is.SameAs(typeof(User))); }