Пример #1
0
        void OnCustomizeRequestProcessors(object sender, CustomizeRequestProcessorsEventArgs customizeRequestProcessorsEventArgs)
        {
            var modelCombineRequestProcessor = new ModelCombineRequestProcessor(customizeRequestProcessorsEventArgs.Permissions);
            var keyValuePair = new KeyValuePair <Type, IPermissionRequestProcessor>(typeof(ModelCombinePermissionRequest), modelCombineRequestProcessor);

            customizeRequestProcessorsEventArgs.Processors.Add(keyValuePair);
        }
Пример #2
0
 void OnCustomizeRequestProcessors(object sender, CustomizeRequestProcessorsEventArgs customizeRequestProcessorsEventArgs) {
     var keyValuePairs = new[]{
         new KeyValuePair<Type, IPermissionRequestProcessor>(typeof (MyDetailsOperationRequest), new MyDetailsRequestProcessor(customizeRequestProcessorsEventArgs.Permissions)),
         new KeyValuePair<Type, IPermissionRequestProcessor>(typeof (AnonymousLoginOperationRequest), new AnonymousLoginRequestProcessor(customizeRequestProcessorsEventArgs.Permissions)),
         new KeyValuePair<Type, IPermissionRequestProcessor>(typeof (IsAdministratorPermissionRequest), new IsAdministratorPermissionRequestProcessor(customizeRequestProcessorsEventArgs.Permissions))
     };
     foreach (var keyValuePair in keyValuePairs) {
         customizeRequestProcessorsEventArgs.Processors.Add(keyValuePair);
     }
 }
Пример #3
0
        public static void CustomizeRequestProcessors(CustomizeRequestProcessorsEventArgs e)
        {
            var customPermissions = e.Permissions.WithCustomPermissions();
            var fieldName         = "permissionsGroupedByRole";
            var requestProcessors = e.Processors.Select(pair => pair.Value)
                                    .Where(processor => processor is SerializablePermissionRequestProcessorWrapper ||
                                           processor is NavigationPermissionRequestProcessor);

            foreach (var processor in requestProcessors)
            {
                IPermissionRequestProcessor requestProcessor;
                if (processor is NavigationPermissionRequestProcessor)
                {
                    requestProcessor = processor;
                    var enumerable =
                        ((IEnumerable <IEnumerable <IOperationPermission> >)requestProcessor.GetFieldValue(fieldName)).Select(
                            permissions => new PermissionDictionary(permissions).WithSecurityOperationAttributePermissions()
                            .GetPermissions <IOperationPermission>());
                    requestProcessor.SetFieldValue(fieldName, enumerable);
                    customPermissions = new PermissionDictionary(customPermissions.GetPermissions <IOperationPermission>()
                                                                 .Concat(enumerable.SelectMany(permissions => permissions)));
                }
                else
                {
                    requestProcessor = (IPermissionRequestProcessor)processor.GetFieldValue("requestProcessor");
                    if (requestProcessor is ServerPermissionRequestProcessor)
                    {
                        fieldName = "permissionsDictionary";
                        var processorDictionary = ((IPermissionDictionary)requestProcessor.GetFieldValue(fieldName))
                                                  .WithSecurityOperationAttributePermissions();
                        requestProcessor.SetFieldValue(fieldName, processorDictionary);
                        var operationPermissions = processorDictionary.GetPermissions <IOperationPermission>().ToList();
                        customPermissions = new PermissionDictionary(customPermissions.GetPermissions <IOperationPermission>()
                                                                     .Concat(operationPermissions));
                    }
                }
            }

            var keyValuePairs = new[] {
                new KeyValuePair <Type, IPermissionRequestProcessor>(typeof(MyDetailsOperationRequest),
                                                                     customPermissions.GetProcessor <MyDetailsRequestProcessor>()),
                new KeyValuePair <Type, IPermissionRequestProcessor>(typeof(AnonymousLoginOperationRequest),
                                                                     customPermissions.GetProcessor <AnonymousLoginRequestProcessor>()),
                new KeyValuePair <Type, IPermissionRequestProcessor>(typeof(IsAdministratorPermissionRequest),
                                                                     customPermissions.GetProcessor <IsAdministratorPermissionRequestProcessor>()),
                new KeyValuePair <Type, IPermissionRequestProcessor>(typeof(NavigationItemPermissionRequest),
                                                                     customPermissions.WithHiddenNavigationItemPermissions()
                                                                     .GetProcessor <NavigationItemPermissionRequestProcessor>())
            };

            foreach (var keyValuePair in keyValuePairs)
            {
                e.Processors.Add(keyValuePair);
            }
        }
Пример #4
0
        void OnCustomizeRequestProcessors(object sender, CustomizeRequestProcessorsEventArgs customizeRequestProcessorsEventArgs)
        {
            var keyValuePairs = new[] {
                new KeyValuePair <Type, IPermissionRequestProcessor>(typeof(MyDetailsOperationRequest), new MyDetailsRequestProcessor(customizeRequestProcessorsEventArgs.Permissions)),
                new KeyValuePair <Type, IPermissionRequestProcessor>(typeof(AnonymousLoginOperationRequest), new AnonymousLoginRequestProcessor(customizeRequestProcessorsEventArgs.Permissions)),
                new KeyValuePair <Type, IPermissionRequestProcessor>(typeof(IsAdministratorPermissionRequest), new IsAdministratorPermissionRequestProcessor(customizeRequestProcessorsEventArgs.Permissions))
            };

            foreach (var keyValuePair in keyValuePairs)
            {
                customizeRequestProcessorsEventArgs.Processors.Add(keyValuePair);
            }
        }
        static void OnCustomizeRequestProcessors(object sender, CustomizeRequestProcessorsEventArgs e)
        {
            List <IOperationPermission> result   = new List <IOperationPermission>();
            SecurityStrategyComplex     security = (SecurityStrategyComplex)sender;
            WXafUser user = (WXafUser)security.User;

            foreach (WXafRole role in user.Roles)
            {
                foreach (ActionPermission action in role.ActionPermissions)
                {
                    result.Add(new ExecuteActionPermission(action.ActionId));
                }
            }
            IPermissionDictionary dictionary = new PermissionDictionary(result);

            e.Processors.Add(typeof(ExecuteActionPermissionRequest), new ExecuteActionRequestProcessor(dictionary));
        }
Пример #6
0
 void OnCustomizeRequestProcessors(object sender, CustomizeRequestProcessorsEventArgs customizeRequestProcessorsEventArgs) {
     var modelCombineRequestProcessor = new ModelCombineRequestProcessor(customizeRequestProcessorsEventArgs.Permissions);
     var keyValuePair = new KeyValuePair<Type, IPermissionRequestProcessor>(typeof(ModelCombinePermissionRequest), modelCombineRequestProcessor);
     customizeRequestProcessorsEventArgs.Processors.Add(keyValuePair);
 }
Пример #7
0
 void OnCustomizeRequestProcessors(object sender, CustomizeRequestProcessorsEventArgs customizeRequestProcessorsEventArgs) {
     customizeRequestProcessorsEventArgs.Processors.Add(new KeyValuePair<Type, IPermissionRequestProcessor>(typeof(StateMachineTransitionOperationRequest), new StateMachineTransitionRequestProcessor(customizeRequestProcessorsEventArgs.Permissions)));
 }
        static void OnCustomizeRequestProcessors(object sender, CustomizeRequestProcessorsEventArgs customizeRequestProcessorsEventArgs)
        {
            var requestProcessor = new OverallCustomizationAllowedPermissionRequestProcessor(customizeRequestProcessorsEventArgs.Permissions.WithCustomPermissions());

            customizeRequestProcessorsEventArgs.Processors.Add(new KeyValuePair <Type, IPermissionRequestProcessor>(typeof(OverallCustomizationAllowedPermissionRequest), requestProcessor));
        }
Пример #9
0
 void OnCustomizeRequestProcessors(object sender, CustomizeRequestProcessorsEventArgs e)
 {
     CustomizeRequestProcessors(e);
 }
Пример #10
0
 void OnCustomizeRequestProcessors(object sender, CustomizeRequestProcessorsEventArgs customizeRequestProcessorsEventArgs)
 {
     customizeRequestProcessorsEventArgs.Processors.Add(new KeyValuePair <Type, IPermissionRequestProcessor>(typeof(StateMachineTransitionRequestProcessor), new StateMachineTransitionRequestProcessor(customizeRequestProcessorsEventArgs.Permissions)));
 }
Пример #11
0
        void OnCustomizeRequestProcessors(object sender, CustomizeRequestProcessorsEventArgs e)
        {
            var keyValuePair = new KeyValuePair <Type, IPermissionRequestProcessor>(typeof(ModelCombinePermissionRequest), e.Permissions.GetProcessor <ModelCombineRequestProcessor>());

            e.Processors.Add(keyValuePair);
        }
Пример #12
0
        void OnCustomizeRequestProcessors(object sender, CustomizeRequestProcessorsEventArgs e)
        {
            var keyValuePair = new KeyValuePair <Type, IPermissionRequestProcessor>(typeof(StateMachineTransitionOperationRequest), e.Permissions.WithCustomPermissions().GetProcessor <StateMachineTransitionRequestProcessor>());

            e.Processors.Add(keyValuePair);
        }
Пример #13
0
 void OnCustomizeRequestProcessors(object sender, CustomizeRequestProcessorsEventArgs customizeRequestProcessorsEventArgs)
 {
     customizeRequestProcessorsEventArgs.Processors.Add(new KeyValuePair <Type, IPermissionRequestProcessor>(typeof(ModelCombineRequestProcessor), new ModelCombineRequestProcessor(customizeRequestProcessorsEventArgs.Permissions)));
 }
Пример #14
0
 void OnCustomizeRequestProcessors(object sender, CustomizeRequestProcessorsEventArgs customizeRequestProcessorsEventArgs) {
     customizeRequestProcessorsEventArgs.Processors.Add(new KeyValuePair<Type, IPermissionRequestProcessor>(typeof(ModelCombineRequestProcessor), new ModelCombineRequestProcessor(customizeRequestProcessorsEventArgs.Permissions)));
 }