コード例 #1
0
        public async Task <Permissions> ServiceGetPermissions()
        {
            try
            {
                await Task.CompletedTask;
                RunTimeMetadata metadata = GetMetadata();
                Permissions     result   = new Permissions()
                {
                    serverTimezone = DateTimeHelper.GetTimezoneOffset()
                };
                IAuthorizer authorizer = ServiceContainer.Authorizer;
                foreach (DbSetInfo dbInfo in metadata.DbSets.Values)
                {
                    DbSetPermit permissions = await authorizer.GetDbSetPermissions(metadata, dbInfo.dbSetName);

                    result.permissions.Add(permissions);
                }

                return(result);
            }
            catch (Exception ex)
            {
                _OnError(ex);
                throw new DummyException(ex.GetFullMessage(), ex);
            }
        }
コード例 #2
0
ファイル: SecurityHelper.cs プロジェクト: mpmedia/jRIApp
        public static DbSetPermit GetDbSetPermissions(DbSetInfo dbInfo, IAuthorizer authorizer)
        {
            MethodInfo  methInfo = null;
            DbSetPermit permit   = new DbSetPermit();

            methInfo         = dbInfo.getOperationMethodInfo(OperationNames.CREATE);
            permit.canAddRow = methInfo != null && CanAccessMethod(methInfo, authorizer);

            methInfo          = dbInfo.getOperationMethodInfo(OperationNames.UPDATE);
            permit.canEditRow = methInfo != null && CanAccessMethod(methInfo, authorizer);

            methInfo            = dbInfo.getOperationMethodInfo(OperationNames.DELETE);
            permit.canDeleteRow = methInfo != null && CanAccessMethod(methInfo, authorizer);

            methInfo             = dbInfo.getOperationMethodInfo(OperationNames.REFRESH);
            permit.canRefreshRow = methInfo != null && CanAccessMethod(methInfo, authorizer);
            return(permit);
        }
コード例 #3
0
        public static DbSetPermit GetDbSetPermissions(CachedMetadata metadata, string dbSetName, IAuthorizer authorizer)
        {
            MethodInfoData method = null;
            var            permit = new DbSetPermit();

            permit.dbSetName = dbSetName;
            method           = metadata.getOperationMethodInfo(dbSetName, MethodType.Insert);
            permit.canAddRow = method != null && CanAccessMethod(method, authorizer);

            method            = metadata.getOperationMethodInfo(dbSetName, MethodType.Update);
            permit.canEditRow = method != null && CanAccessMethod(method, authorizer);

            method = metadata.getOperationMethodInfo(dbSetName, MethodType.Delete);
            permit.canDeleteRow = method != null && CanAccessMethod(method, authorizer);

            method = metadata.getOperationMethodInfo(dbSetName, MethodType.Refresh);
            permit.canRefreshRow = method != null && CanAccessMethod(method, authorizer);
            return(permit);
        }
コード例 #4
0
ファイル: SecurityHelper.cs プロジェクト: cbsistem/JRIAppTS
        public static DbSetPermit GetDbSetPermissions(DbSetInfo dbInfo, IAuthorizer authorizer)
        {
            MethodInfo methInfo = null;
            DbSetPermit permit = new DbSetPermit();
            permit.dbSetName = dbInfo.dbSetName;
            methInfo = dbInfo.getOperationMethodInfo(MethodType.Insert);
            permit.canAddRow = methInfo != null && CanAccessMethod(methInfo,authorizer);

            methInfo = dbInfo.getOperationMethodInfo(MethodType.Update);
            permit.canEditRow = methInfo != null && CanAccessMethod(methInfo, authorizer);

            methInfo = dbInfo.getOperationMethodInfo(MethodType.Delete);
            permit.canDeleteRow = methInfo != null && CanAccessMethod(methInfo, authorizer);

            methInfo = dbInfo.getOperationMethodInfo(MethodType.Refresh);
            permit.canRefreshRow = methInfo != null && CanAccessMethod(methInfo, authorizer);
            return permit;
        }