IsGrantedExtensions.CanWrite(IRequestSecurityStrategy, Type, IObjectSpace, Object, String) Method
Checks whether the current user can write an object with the specified key. If the optional memberName parameter is specified, the method checks whether the current user can write the specified object member.
Namespace: DevExpress.ExpressApp.Security
Assembly: DevExpress.ExpressApp.Security.v25.2.dll
NuGet Package: DevExpress.ExpressApp.Security
Declaration
public static bool CanWrite(
this IRequestSecurityStrategy security,
Type type,
IObjectSpace objectSpace,
object targetObjectKey,
string memberName = null
)
Parameters
| Name | Type | Description |
|---|---|---|
| security | IRequestSecurityStrategy | An object that specifies the application’s security strategy. |
| type | Type | The object’s type. |
| objectSpace | IObjectSpace | An Object Space used to obtain data to calculate this security criterion. |
| targetObjectKey | Object | The object’s key. |
Optional Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| memberName | String | null | A name of the target object’s member to check. |
Returns
| Type | Description |
|---|---|
| Boolean |
|
Remarks
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Security;
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) {
Department department = ViewCurrentObject.Department;
if (department != null) {
object key = ObjectSpace.GetKeyValue(department);
if (!securityStrategy.CanWrite(typeof(Department), ObjectSpace, key, nameof(Department.Office))) {
// ...
}
}
}
}
See Also