Security

From MXMS Wiki
Revision as of 05:45, 3 April 2026 by Bjorn (talk | contribs) (Claims)
Jump to navigationJump to search

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;
}