Skip to main content
.NET 6.0+

IsGrantedExtensions.CanWrite(SecurityStrategy, Object, String) Method

Checks whether the current user can write the specified object or its member.

Namespace: DevExpress.ExpressApp.Security

Assembly: DevExpress.ExpressApp.Security.v23.2.dll

Declaration

public static bool CanWrite(
    this SecurityStrategy security,
    object targetObject,
    string memberName = null
)

Parameters

Name Type Description
security SecurityStrategy

A SecurityStrategy object that specifies an application’s Security Strategy.

targetObject Object

An Object this method checks.

Optional Parameters

Name Type Default Description
memberName String null

A String that is a name of the targetObject‘s member this method checks. This parameter is optional.

Returns

Type Description
Boolean

true, if the current user can write the specified object or its members; otherwise, false.

Remarks

Important

This overload of the CanWrite method may reduce performance and cause incorrect behavior in some usage scenarios. We recommend that you always use the CanWrite method’s overloads that accept an Object Space as a parameter to check permissions for a specific object.

The following example shows how to use this method.

using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Security;
using System;
// ...
public class CheckWritePermissionController : ObjectViewController<ListView, Contact> {
    SecurityStrategy securityStrategy;
    protected override void OnActivated() {
        base.OnActivated();
        securityStrategy = Application.GetSecurityStrategy();
        View.CurrentObjectChanged += View_CurrentObjectChanged;
    }
    private void View_CurrentObjectChanged(object sender, EventArgs e) {
        Department department = ViewCurrentObject.Department;
        if (department!= null && !securityStrategy.CanWrite(department, nameof(Department.Office))) {
            // ...
        }
    }
}
See Also