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.CanNavigateByRole(SecurityStrategy, IPermissionPolicyRole, String) Method

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

Namespace: DevExpress.ExpressApp.Security

Assembly: DevExpress.ExpressApp.Security.v21.2.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