Skip to main content
.NET 6.0+

IsGrantedExtensions.CanNavigateByRole(SecurityStrategy, IPermissionPolicyRole, String) Method

Checks whether the specified role allows navigation to the specified item.

Namespace: DevExpress.ExpressApp.Security

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

Declaration

public static bool CanNavigateByRole(
    this SecurityStrategy security,
    IPermissionPolicyRole targetRole,
    string itemPath
)

Parameters

Name Type Description
security SecurityStrategy

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

targetRole IPermissionPolicyRole

An IPermissionPolicyRole object that is a role this method checks.

itemPath String

A String that is a path to a navigation item.

Returns

Type Description
Boolean

true, the specified role allows navigation to the specified item; otherwise, false.

Remarks

You can find a navigation item’s path in the Model Editor:

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;
// ...
public class CheckNavigatePermissionController : ObjectViewController<ListView, Contact> {
    protected override void OnActivated() {
        base.OnActivated();
        SecurityStrategy securityStrategy = Application.GetSecurityStrategy();
        foreach (IPermissionPolicyRole role in ObjectSpace.GetObjects<PermissionPolicyRole>()) {
            if (!securityStrategy.CanNavigateByRole(role, "Application/NavigationItems/Items/Default/Items/Department_ListView")) {
                // ...
            }
        }
    }
}
See Also