Пример #1
0
        //授予   张三   门户》通讯录》中国核建   查看       权限
        //       主体   业务模块                 权限
        public static void GrantRightToUser()
        {
            //权限主体
            var user = new User();

            user.ID   = 1;
            user.Name = "张三";
            //业务模块模板
            var businessModuleTemplate = new BusinessModuleTemplate();

            businessModuleTemplate.Code = "Portal$AddressBook$Orgnize${0}";
            businessModuleTemplate.Name = "门户》通讯录》{0}";
            //业务模块
            var businessModuleInstance = new BusinessModuleInstance();

            businessModuleInstance.Code = "Portal$AddressBook$Organize$1";
            businessModuleInstance.Name = "门户》通讯录》中国核建";
            var right = new Right();

            right.ID   = 1;
            right.Code = 1;
            right.Name = "查看用户";
            right.BusinessModuleTemplate = businessModuleTemplate;
            RightManager.GrantRightToUser(businessModuleInstance, right, user);
        }
Пример #2
0
 public virtual bool GrantRightsToUser(BusinessModuleInstance businessModule, IEnumerable <Right> rights, User user)
 {
     foreach (var right in rights)
     {
         GrantRightToUser(businessModule, right, user);
     }
     return(true);
 }
Пример #3
0
        public virtual bool GrantRightToUser(BusinessModuleInstance businessModule, Right right, User user)
        {
            var sql = @"declare @rightAssignId int 
                        select @rightAssignId = id from right_assign where businessModuleInstance = {0} and right={1} and subject ={2} and subjectType={3})
                        if @rightAssignId is not null
                           begin 
                              update right_assign
                              set businessModuleInstance={0} , right={1}, subject={2} ,subjectType={3},grantType={4}
                           end
                        else
                           begin
                              insert into right_assign(businessModuleInstance,right,subject,subjectType,grantType)
                              values ({0},{1},{2},{3},{4})
                           end
                      
                        ";

            sql = string.Format(sql, businessModule.ID, right.ID, user.ID, GrantSubjectType.User);
            Console.WriteLine(sql);
            return(true);
        }