Esempio n. 1
0
 /// <summary>
 /// 根据资源名称获得资源列表
 /// </summary>
 /// <param name="Public"></param>
 /// <param name="ResourceName"></param>
 /// <returns></returns>
 public static DroitResource[] GetResourceByName(this Public Public, String ResourceName)
 {
     DroitResource resource = new DroitResource(String.Empty)
     {
         ResourceName = ResourceName
     };
     EntityQueryRequest<DroitResource> query = new EntityQueryRequest<DroitResource>();
     query.AppendConditionMap(resource.ResourceName, () => resource.ResourceName);
     return Actor.Public.BuildEntityProcessor("SecurityApp").QueryEntity(query);
 }
Esempio n. 2
0
        /// <summary>
        /// 根据资源名称获得资源列表
        /// </summary>
        /// <param name="Public"></param>
        /// <param name="ResourceName"></param>
        /// <returns></returns>
        public static DroitResource[] GetResourceByName(this Public Public, String ResourceName)
        {
            DroitResource resource = new DroitResource(String.Empty)
            {
                ResourceName = ResourceName
            };
            EntityQueryRequest <DroitResource> query = new EntityQueryRequest <DroitResource>();

            query.AppendConditionMap(resource.ResourceName, () => resource.ResourceName);
            return(Actor.Public.BuildEntityProcessor("SecurityApp").QueryEntity(query));
        }
Esempio n. 3
0
 static EntityPostRequest BuilddeleteDroitRequest(string resourceid)
 {
     DroitResource oldResource = new DroitResource(Guid.NewGuid().ToString())
     {
         ResourceName = resourceid
     };
     EntityPostRequest oldPostRequest = new EntityPostRequest(EntityPostRequest.EntityPostMethod.Delete)
     {
         Entity = oldResource
     };
     oldPostRequest.AppendConditionMap(oldResource.ResourceName, () => oldResource.ResourceName);
     return oldPostRequest;
 }
Esempio n. 4
0
 public static void ResetDroitResource(this Public Public, string ResourceName, DroitResource[] droits, Action<bool> action)
 {
     BizTransaction transaction = BizTransaction.BeginTransaction();
     //step 1 删除原有的授权配置
     RegisterFactor_DeleteOldDroits(transaction, ResourceName);
     //step 2 添加用户新的授权配置
     RegisterFactor_AddNewDroits(transaction, ResourceName, droits);
     bool ok = transaction.TryCommit();
     if (ok)
     {
         Actor.Public.UpdateLastPermissionChangeTime();
     }
     action(ok);
 }
Esempio n. 5
0
        static EntityPostRequest BuilddeleteDroitRequest(string resourceid)
        {
            DroitResource oldResource = new DroitResource(Guid.NewGuid().ToString())
            {
                ResourceName = resourceid
            };
            EntityPostRequest oldPostRequest = new EntityPostRequest(EntityPostRequest.EntityPostMethod.Delete)
            {
                Entity = oldResource
            };

            oldPostRequest.AppendConditionMap(oldResource.ResourceName, () => oldResource.ResourceName);
            return(oldPostRequest);
        }
Esempio n. 6
0
        static EntityPostRequest BuildaddDroitRequest(string ResourceName, DroitResource resource)
        {
            EntityPostRequest postRequest = new EntityPostRequest(EntityPostRequest.EntityPostMethod.Create)
            {
                Entity = resource
            };

            postRequest.AppendFieldMap(resource.ResourceID, () => resource.ResourceID);
            postRequest.AppendFieldMap(resource.ResourceName, () => resource.ResourceName);
            postRequest.AppendFieldMap(resource.RoleID, () => resource.RoleID);
            postRequest.AppendFieldMap(resource.RightValue, () => resource.RightValue);
            postRequest.AppendFieldMap(resource.State, () => resource.State);
            return(postRequest);
        }
Esempio n. 7
0
        static EntityPostRequest BuilddeleteRoleDroitsRequest(string roleid)
        {
            DroitResource dr = new DroitResource(string.Empty)
            {
                RoleID = roleid
            };

            EntityPostRequest request = new EntityPostRequest(EntityPostRequest.EntityPostMethod.Delete)
            {
                Entity = dr
            };

            request.AppendConditionMap(dr.RoleID, () => dr.RoleID);
            return(request);
        }
Esempio n. 8
0
        static void RegisterFactor_AddNewDroits(BizTransaction transaction, string ResourceName, DroitResource[] droits)
        {
            IEntityRequestProcess addDroitsProcessor = Actor.Public.BuildEntityProcessor("SecurityApp");
            TransactionFactor<IEntityRequestProcess, Action<IEntityRequestProcess, EntityPostRequest>> addDroitsFactor = new TransactionFactor<IEntityRequestProcess, Action<IEntityRequestProcess, EntityPostRequest>>(addDroitsProcessor);
            addDroitsFactor.ActionBody = (IEntityRequestProcess contract, EntityPostRequest request) =>
            {
                contract.UpdateEntity(request);
            };

            addDroitsFactor.Action = (Action<IEntityRequestProcess, EntityPostRequest> action) =>
            {
                foreach (DroitResource droit in droits)
                {
                    EntityPostRequest addDroitRequest = BuildaddDroitRequest(ResourceName, droit);
                    action(addDroitsProcessor, addDroitRequest);
                }
            };

            transaction.RegisterFactor(addDroitsFactor);
        }
Esempio n. 9
0
 static EntityPostRequest BuildaddDroitRequest(string ResourceName, DroitResource resource)
 {
     EntityPostRequest postRequest = new EntityPostRequest(EntityPostRequest.EntityPostMethod.Create)
     {
         Entity = resource
     };
     postRequest.AppendFieldMap(resource.ResourceID, () => resource.ResourceID);
     postRequest.AppendFieldMap(resource.ResourceName, () => resource.ResourceName);
     postRequest.AppendFieldMap(resource.RoleID, () => resource.RoleID);
     postRequest.AppendFieldMap(resource.RightValue, () => resource.RightValue);
     postRequest.AppendFieldMap(resource.State, () => resource.State);
     return postRequest;
 }
Esempio n. 10
0
        static EntityPostRequest BuilddeleteRoleDroitsRequest(string roleid)
        {
            DroitResource dr = new DroitResource(string.Empty)
            {
                RoleID = roleid
            };

            EntityPostRequest request = new EntityPostRequest(EntityPostRequest.EntityPostMethod.Delete)
            {
                Entity = dr
            };
            request.AppendConditionMap(dr.RoleID, () => dr.RoleID);
            return request;
        }