Skip to main content
.NET 6.0+

SecuritySystemRole Class

A persistent class that defines the security role.

Namespace: DevExpress.ExpressApp.Security.Strategy

Assembly: DevExpress.ExpressApp.Security.Xpo.v23.2.dll

Declaration

[ImageName("BO_Role")]
[MapInheritance(MapInheritanceType.ParentTable)]
public class SecuritySystemRole :
    SecuritySystemRoleBase,
    ISupportChildRoles

Remarks

Note

It is recommended to use the Allow/Deny Permission Policy. For this purpose, migrate from SecuritySystemRole to PermissionPolicyRole. If you use Entity Framework as the ORM system, you may also need to perform a migration.

In XAF applications, permissions are not assigned to a user directly. Users have roles, which in turn are characterized by a permission set. So, each user has one or more roles that determine what actions can be performed. The list of users associated with the current role is exposed via the SecuritySystemRole.Users property. Roles can be organized in a hierarchical structure. The SecuritySystemRole.ParentRoles and SecuritySystemRole.ChildRoles properties define this structure. In this instance, roles taken into account for the current user are:

  • roles that are directly assigned to the user;
  • all child roles of directly assigned roles (recursively).

For instance, you can specify a set of low-level roles, and then associate them with high-level roles. These high-level roles can be assigned to users.

Refer to the How to: Implement Custom Security Objects (Users, Roles, Operation Permissions) topic to see an example on implementing a custom Role.

Inheritance

Object
PersistentBase
XPBaseObject
XPCustomObject
DevExpress.ExpressApp.Security.Strategy.SecuritySystemTypePermissionsObjectOwner
SecuritySystemRoleBase
SecuritySystemRole
See Also