コード例 #1
0
ファイル: ServerApplication.cs プロジェクト: xwagner2/eXpand
        public ConsoleApplicationServerServerApplication(ISecurityStrategyBase securityStrategyBase) : base(securityStrategyBase)
        {
            ApplicationName = "SecuritySystemExample";

            Modules.Add(new SystemWindowsFormsModule());
            Modules.Add(new SecuritySystemExampleModule());
        }
コード例 #2
0
 public XpandObjectSpaceProvider(IXpoDataStoreProxy provider, ISecurityStrategyBase security, bool threadSafe = false)
     : base(provider, threadSafe)
 {
     _security         = security;
     DataStoreProvider = provider;
     Tracing.Tracer.LogVerboseValue(GetType().FullName, Environment.StackTrace);
 }
コード例 #3
0
 public XpandWorkflowApplication(ISecurityStrategyBase securityStrategy)
     : base(securityStrategy)
 {
     if (Debugger.IsAttached)
     {
         InterfaceBuilder.SkipAssemblyCleanup = true;
     }
 }
コード例 #4
0
        public static void AttachRequestProcessors(ISecurityStrategyBase security)
        {
            var strategy = security as SecurityStrategy;

            if (strategy != null)
            {
                strategy.CustomizeRequestProcessors += (s2, e2) =>
                {
                };
            }
        }
コード例 #5
0
 public static IEnumerable <ISecurityStrategyBase> AddAnonymousType(this ISecurityStrategyBase securityStrategy, params System.Type[] types)
 {
     foreach (var strategyBase in securityStrategy.WhenSecurityStrategy())
     {
         var anonymousAllowedTypes = strategyBase.GetPropertyValue("AnonymousAllowedTypes");
         foreach (var type in types)
         {
             anonymousAllowedTypes.CallMethod("Add", type);
         }
         yield return(strategyBase);
     }
 }
コード例 #6
0
 public static ISecurityStrategyBase[] AddAnonymousType(this ISecurityStrategyBase securityStrategy,
                                                        params Type[] types)
 {
     return(securityStrategy.AddAnonymousTypeCore(types).ToArray());
 }
コード例 #7
0
 public static T GetCurrentUser <T>(this ISecurityStrategyBase security) => (T)security.User;
コード例 #8
0
 public static bool IsActionPermissionGranted(this ISecurityStrategyBase strategyBase, params string[] actions)
 => actions.ToList().All(action =>
                         (bool)strategyBase.CallMethod("IsGranted", ActionPermissionRequest.CreateInstance(action)));
コード例 #9
0
 public XpandServerApplication(ISecurityStrategyBase securityStrategy) {
     Security = securityStrategy;
 }
コード例 #10
0
 public ConsoleApplicationServerServerApplication(ISecurityStrategyBase securityStrategyBase)
     : base(securityStrategyBase) {
     ApplicationName = "SecuritySystemExample";
     Modules.Add(new SecuritySystemExampleModule());
 }
コード例 #11
0
 public XpandObjectSpaceProvider(IXpoDataStoreProxy provider, ISecurityStrategyBase security,bool threadSafe=false)
     : base(provider, threadSafe) {
     _security = security;
     DataStoreProvider = provider;
     Tracing.Tracer.LogVerboseValue(GetType().FullName,Environment.StackTrace);
 }
コード例 #12
0
 /// <summary>
 /// Конструктор
 /// </summary>
 /// <param name="securityStrategy">Стратегия безопасности, предоставляющая информацию о текущем пользователе системы</param>
 public ContractDataSecurityProvider(ISecurityStrategyBase securityStrategy)
 {
     Guard.ArgumentNotNull(securityStrategy, "securityStrategy");
     this.securityStrategy = securityStrategy;
 }
コード例 #13
0
 public static bool IsSecurityStrategyComplex(this ISecurityStrategyBase strategyBase) => strategyBase
 .IsInstanceOf("DevExpress.ExpressApp.Security.SecurityStrategyComplex");
コード例 #14
0
 public static bool IsRemoteClient(this ISecurityStrategyBase security)
 {
     return(security is IMiddleTierClientSecurity || security is IClientInfoProvider);
 }
コード例 #15
0
 public XpandWorkflowApplication(ISecurityStrategyBase securityStrategy)
     : base(securityStrategy) {
     if (Debugger.IsAttached)
         InterfaceBuilder.SkipAssemblyCleanup = true;
 }
コード例 #16
0
 public XpandObjectSpaceProvider(IXpoDataStoreProxy provider, ISecurityStrategyBase security, bool doNotTrackModifiedObjects) : base(provider, security)
 {
     _doNotTrackModifiedObjects = doNotTrackModifiedObjects;
 }
コード例 #17
0
 /// <summary>
 /// Конструктор
 /// </summary>
 /// <param name="securityStrategy">Стратегия безопасности, предоставляющая пространство объектов</param>
 public ExclusiveOwnerDataSecurityProvider(ISecurityStrategyBase securityStrategy)
     : base(securityStrategy)
 {
 }
コード例 #18
0
 public XpandServerApplication(ISecurityStrategyBase securityStrategy)
 {
     Security = securityStrategy;
 }
コード例 #19
0
 public static bool IsAdminPermissionGranted(this ISecurityStrategyBase strategyBase)
 => (bool)strategyBase.CallMethod("IsGranted", AdministrativePermissionRequest.CreateInstance());
コード例 #20
0
 public static IEnumerable <ISecurityStrategyBase> WhenSecurityStrategy(
     this ISecurityStrategyBase securityStrategy)
 => securityStrategy?.GetType().InheritsFrom("DevExpress.ExpressApp.Security.SecurityStrategy") == true
         ? new[] { securityStrategy }
         : Enumerable.Empty <ISecurityStrategyBase>();