All docs
V20.2
20.2
20.1
19.2
19.1
The page you are viewing does not exist in version 19.1. This link will take you to the root page.
18.2
The page you are viewing does not exist in version 18.2. This link will take you to the root page.
18.1
The page you are viewing does not exist in version 18.1. This link will take you to the root page.
17.2
The page you are viewing does not exist in version 17.2. This link will take you to the root page.
.NET Standard 2.0+
.NET Framework 4.5.2+
.NET Standard 2.0+
.NET Core 3.0+

IsGrantedExtensions.CanWriteByUser(SecurityStrategy, IPermissionPolicyUser, Object, String) Method

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

Namespace: DevExpress.ExpressApp.Security

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

Declaration

public static bool CanWriteByUser(
    this SecurityStrategy security,
    IPermissionPolicyUser targetUser,
    object targetObject,
    string memberName = null
)
<ExtensionAttribute>
Public Shared Function CanWriteByUser(
    security As SecurityStrategy,
    targetUser As IPermissionPolicyUser,
    targetObject As Object,
    memberName As String = Nothing
) As Boolean

Parameters

Name Type Description
security SecurityStrategy

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

targetUser IPermissionPolicyUser

An IPermissionPolicyUser object that is a user this method checks.

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 specified user can write the specified object or its member; otherwise, false.

Remarks

The following example shows how to use this method.

using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Security;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl.PermissionPolicy;
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) {
        foreach (IPermissionPolicyUser user in ObjectSpace.GetObjects<PermissionPolicyUser>()) {
            if (!securityStrategy.CanWriteByUser(user, ViewCurrentObject.Department, nameof(Department.Office))) {
                // ...
            }
        }
    }
}
See Also