Skip to main content
All docs
V25.1
  • .NET Framework 4.6.2+

    IsGrantedExtensions.CanWrite(IRequestSecurityStrategy, Type, IObjectSpace, Object, String) Method

    Checks whether the current user can write an object with the specified key. If the optional memberName parameter is specified, the method checks whether the current user can write the specified object member.

    Namespace: DevExpress.ExpressApp.Security

    Assembly: DevExpress.ExpressApp.Security.v25.1.dll

    Declaration

    public static bool CanWrite(
        this IRequestSecurityStrategy security,
        Type type,
        IObjectSpace objectSpace,
        object targetObjectKey,
        string memberName = null
    )

    Parameters

    Name Type Description
    security IRequestSecurityStrategy

    An object that specifies the application’s security strategy.

    type Type

    The object’s type.

    objectSpace IObjectSpace

    An Object Space used to obtain data to calculate this security criterion.

    targetObjectKey Object

    The object’s key.

    Optional Parameters

    Name Type Default Description
    memberName String null

    A name of the target object’s member to check.

    Returns

    Type Description
    Boolean

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

    Remarks

    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(typeof(Department), ObjectSpace, key, nameof(Department.Office))) {
                    // ...
                }
            }
        }
    }
    
    See Also