Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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();
        }