IsGrantedExtensions.CanWriteByRole(SecurityStrategy, IPermissionPolicyRole, Type, String) Method
Checks whether the current user can write objects of the specified type or their member.
Namespace: DevExpress.ExpressApp.Security
Assembly: DevExpress.ExpressApp.Security.v24.1.dll
NuGet Package: DevExpress.ExpressApp.Security
Declaration
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. |
type | Type | A Type of objects this method checks. |
Optional Parameters
Name | Type | Default | Description |
---|---|---|---|
memberName | String | null | A String that is a name of an objects’ member this method checks. This parameter is optional. |
Returns
Type | Description |
---|---|
Boolean | true, if the current user can write objects of the specified type or their member; 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 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) {
foreach (IPermissionPolicyRole role in ObjectSpace.GetObjects<PermissionPolicyRole>()) {
if (!securityStrategy.CanWriteByRole(role, typeof(Department), nameof(Department.Office))) {
// ...
}
}
}
}
See Also