IsGrantedExtensions.CanRead<T>(SecurityStrategy, IObjectSpace, Object, String) Method
Checks whether the current user can read an object with the specified key or this object’s member.
Namespace: DevExpress.ExpressApp.Security
Assembly: DevExpress.ExpressApp.Security.v24.2.dll
NuGet Package: DevExpress.ExpressApp.Security
#Declaration
public static bool CanRead<T>(
this SecurityStrategy security,
IObjectSpace objectSpace,
object targetObjectKey,
string memberName = null
)
#Parameters
Name | Type | Description |
---|---|---|
security | Security |
A Security |
object |
IObject |
An Object Space this method uses to get an object to check. |
target |
Object | An Object that is a key of an object this method checks. |
#Optional Parameters
Name | Type | Default | Description |
---|---|---|---|
member |
String | null | A String that is a name of objects’ member this method checks. This parameter is optional. |
#Type Parameters
Name | Description |
---|---|
T | A Type of an object this method checks. |
#Returns
Type | Description |
---|---|
Boolean | true, if the current user can read an object with the specified key or this object’s member; otherwise, false. |
#Remarks
The following example shows how to use this method.
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Security;
using System;
// ...
public class CheckReadPermissionController : 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.CanRead<Department>(ObjectSpace, key, nameof(Department.Office))) {
// ...
}
}
}
}