Security: Difference between revisions

From MXMS Wiki
Jump to navigationJump to search
Line 26: Line 26:


== Claims ==
== Claims ==
<pre>
public class ExampleClaim : Claim<CustomEntity>
{
protected override bool CanApply(CustomEntity entity)
{
return entity.BooleanCheck;
}
protected override void Set(CodedAccessPolicyBuilder<CustomEntity> policy)
{
policy.DenyMethod(i => i.MyMethod());
}
}
</pre>
== Attributes ==
== Attributes ==
Another way to limit access is by using the Availability attribute. This attribute defines the maximum available permissions for a property. The options are None, Writeonly and Readonly.  
Another way to limit access is by using the Availability attribute. This attribute defines the maximum available permissions for a property. The options are None, Writeonly and Readonly.  

Revision as of 05:45, 3 April 2026

Roles

A role defines which classes, properties and methods the user has access to. A user can be added in multiple roles and the cummultative permission set of classes, properties and methods will be the users final access profile.

public class ExampleAccessProfile : CodedAccessProfile
{
    protected override void Configure()
    {

        Set<Class1>()
            .AllowAllCreate()
            .AllowAllUpdate();

        Set<Class2>()
            .AllowAllCreate()
            .AllowAllUpdate()
            .AllowDelete();

        Set<Class2>()
            .AllowAllCreate()
            .AllowAllUpdate()
            .AllowDelete();
    }
}

Claims

public class ExampleClaim : Claim<CustomEntity>
{
	protected override bool CanApply(CustomEntity entity)
	{
		return entity.BooleanCheck;
	}

	protected override void Set(CodedAccessPolicyBuilder<CustomEntity> policy)
	{
		policy.DenyMethod(i => i.MyMethod());
	}
}

Attributes

Another way to limit access is by using the Availability attribute. This attribute defines the maximum available permissions for a property. The options are None, Writeonly and Readonly.

[Availability(Availability.ReadOnly)]
public virtual string Name
{
    get; set;
}