Skip to main content
.NET 8.0+

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

IsGrantedExtensions.CanWrite<T>(SecurityStrategy, IObjectSpace, Object, String) Method

Checks whether the current user can write an object with the specified key or this object’s member.

Namespace: DevExpress.ExpressApp.Security

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

#Declaration

public static bool CanWrite<T>(
    this SecurityStrategy security,
    IObjectSpace objectSpace,
    object targetObjectKey,
    string memberName = null
)

#Parameters

Name Type Description
security SecurityStrategy

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

objectSpace IObjectSpace

An Object Space this method uses to get an object to check.

targetObjectKey Object

An Object that is a key of an object this method checks.

#Optional Parameters

Name Type Default Description
memberName String null

A String that is a name of objects’ member this method checks. This parameter is optional.

#Type Parameters

Name Description
T

A Type of an object this method checks.

#Returns

Type Description
Boolean

true, if the current user can write an object with the specified key or this object’s member; otherwise, false.

#Remarks

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) {
            object key = ObjectSpace.GetKeyValue(department);
            if (!securityStrategy.CanWrite<Department>(ObjectSpace, key, nameof(Department.Office))) {
                // ...
            }
        }
    }
}
See Also