All docs
V21.2
21.2
21.1
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 5.0+

IsGrantedExtensions.CanDeleteByUser<T>(SecurityStrategy, IPermissionPolicyUser, IObjectSpace, Object) Method

Checks whether the specified user can delete the object with the specified key.

Namespace: DevExpress.ExpressApp.Security

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

Declaration

public static bool CanDeleteByUser<T>(
    this SecurityStrategy security,
    IPermissionPolicyUser targetUser,
    IObjectSpace objectSpace,
    object targetObjectKey
)

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.

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.

Type Parameters

Name Description
T

A Type of an object this method checks.

Returns

Type Description
Boolean

true, if the specified user can delete the object with the specified key; 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 CheckDeletePermissionController : 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);
            foreach (IPermissionPolicyUser user in ObjectSpace.GetObjects<PermissionPolicyUser>()) {
                if (!securityStrategy.CanDeleteByUser<Department>(user, ObjectSpace, key)) {
                    // ...
                }
            }
        }
    }
}
See Also