public static List <IOperationPermission> GetPermissions(this ISecurityUserWithRoles securityUserWithRoles) { var permissions = new List <IOperationPermission>(); foreach (ISecurityRole securityRole in securityUserWithRoles.Roles) { if (securityRole is IOperationPermissionProvider operationPermissionProvider) { var operationPermissions = operationPermissionProvider.GetPermissions(); permissions.AddRange(operationPermissions); } if (securityRole is IPermissionPolicyRole) { if (securityRole is IXpandRoleCustomPermissions xpandRoleCustomPermissions) { permissions.AddRange(xpandRoleCustomPermissions.GetCustomPermissions()); } if (securityRole is ISupportHiddenNavigationItems supportHiddenNavigationItems) { permissions.AddRange(supportHiddenNavigationItems.GetHiddenNavigationItemPermissions()); } } } return(permissions); }
void AddRoles(IModelRegistration modelRegistration, ITypeInfo userTypeInfo, ISecurityUserWithRoles securityUserWithRoles, IObjectSpace objectSpace) { var roles = (XPBaseCollection) userTypeInfo.FindMember("Roles").GetValue(securityUserWithRoles); var roleType = modelRegistration.RoleModelClass.TypeInfo.Type; var criteria = CriteriaOperator.Parse(modelRegistration.RoleCriteria); var objects = objectSpace.GetObjects(roleType, criteria); roles.BaseAddRange(objects); }
void AddRoles(IModelRegistration modelRegistration, ITypeInfo userTypeInfo, ISecurityUserWithRoles securityUserWithRoles, IObjectSpace objectSpace) { var roles = (XPBaseCollection)userTypeInfo.FindMember("Roles").GetValue(securityUserWithRoles); var roleType = modelRegistration.RoleModelClass.TypeInfo.Type; var criteria = CriteriaOperator.Parse(modelRegistration.RoleCriteria); var objects = objectSpace.GetObjects(roleType, criteria); roles.BaseAddRange(objects); }
static void Main() { #if EASYTEST DevExpress.ExpressApp.Win.EasyTest.EasyTestRemotingRegistration.Register(); #endif Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); EditModelPermission.AlwaysGranted = System.Diagnostics.Debugger.IsAttached; HideNavigationItemsExampleWindowsFormsApplication winApplication = new HideNavigationItemsExampleWindowsFormsApplication(); // Refer to the http://documentation.devexpress.com/#Xaf/CustomDocument2680 help article for more details on how to provide a custom splash form. //winApplication.SplashScreen = new DevExpress.ExpressApp.Win.Utils.DXSplashScreen("YourSplashImage.png"); if (ConfigurationManager.ConnectionStrings["ConnectionString"] != null) { winApplication.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; } #if EASYTEST if (ConfigurationManager.ConnectionStrings["EasyTestConnectionString"] != null) { winApplication.ConnectionString = ConfigurationManager.ConnectionStrings["EasyTestConnectionString"].ConnectionString; } #endif try { ((SecurityStrategy)winApplication.Security).CustomizeRequestProcessors += delegate(object sender, CustomizeRequestProcessorsEventArgs e) { List <IOperationPermission> result = new List <IOperationPermission>(); SecurityStrategyComplex security = sender as SecurityStrategyComplex; if (security != null) { ISecurityUserWithRoles user = security.User as ISecurityUserWithRoles; if (user != null) { foreach (ISecurityRole role in user.Roles) { if (role is CustomSecurityRole) { result.AddRange(((CustomSecurityRole)role).GetPermissions()); } } } } IPermissionDictionary permissionDictionary = new PermissionDictionary((IEnumerable <IOperationPermission>)result); e.Processors.Add(typeof(NavigationItemPermissionRequest), new NavigationItemPermissionRequestProcessor(permissionDictionary)); }; winApplication.Setup(); winApplication.Start(); } catch (Exception e) { winApplication.HandleException(e); } }
public static List <IOperationPermission> GetPermissions(this ISecurityUserWithRoles securityUserWithRoles) { var securityComplex = ((IRoleTypeProvider)SecuritySystem.Instance); var permissions = new List <IOperationPermission>(); foreach (ISecurityRole securityRole in securityUserWithRoles.Roles) { if (securityComplex.IsNewSecuritySystem()) { var operationPermissions = ((IOperationPermissionProvider)securityRole).GetPermissions(); permissions.AddRange(operationPermissions); } else { var operationPermissions = ((IOperationPermissionProvider)securityRole).GetPermissions(); permissions.AddRange(operationPermissions); } } return(permissions); }
protected void Session_Start(Object sender, EventArgs e) { WebApplication.SetInstance(Session, new HideNavigationItemsExampleAspNetApplication()); if (ConfigurationManager.ConnectionStrings["ConnectionString"] != null) { WebApplication.Instance.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; } #if EASYTEST if (ConfigurationManager.ConnectionStrings["EasyTestConnectionString"] != null) { WebApplication.Instance.ConnectionString = ConfigurationManager.ConnectionStrings["EasyTestConnectionString"].ConnectionString; } #endif ((SecurityStrategy)WebApplication.Instance.Security).CustomizeRequestProcessors += delegate(object sender2, CustomizeRequestProcessorsEventArgs e2) { List <IOperationPermission> result = new List <IOperationPermission>(); SecurityStrategyComplex security = sender2 as SecurityStrategyComplex; if (security != null) { ISecurityUserWithRoles user = security.User as ISecurityUserWithRoles; if (user != null) { foreach (ISecurityRole role in user.Roles) { if (role is CustomSecurityRole) { result.AddRange(((CustomSecurityRole)role).GetPermissions()); } } } } IPermissionDictionary permissionDictionary = new PermissionDictionary((IEnumerable <IOperationPermission>)result); e2.Processors.Add(typeof(NavigationItemPermissionRequest), new NavigationItemPermissionRequestProcessor(permissionDictionary)); }; WebApplication.Instance.Setup(); WebApplication.Instance.Start(); }