Пример #1
0
        /// <summary>
        /// 展示所有角色及其权限
        /// </summary>
        /// <param name="roles"></param>
        /// <returns></returns>
        public Status getAll(out Roles roles)
        {
            roles       = new Roles();
            roles.roles = new List <Role>();

            //获取所有的权限列表:permissionID,permissionName
            List <Permission> permissionlist;

            if (new RoleService().getPermissions(out permissionlist) != Status.SUCCESS)
            {
                return(Status.NONFOUND);
            }

            roles.permissonNum = permissionlist.Count;

            Dictionary <string, object> wherelist = new Dictionary <string, object>();

            RoleDAO            roleDao            = Factory.getInstance <RoleDAO>();
            PermissionDAO      permissionDao      = Factory.getInstance <PermissionDAO>();
            Role_PermissionDAO role_PermissionDao = Factory.getInstance <Role_PermissionDAO>();

            //获取所有的角色列表:roleID,roleName
            List <RoleVO> roleVolist = roleDao.getAll <RoleVO>();

            if (roleVolist == null)
            {
                return(Status.NONFOUND);
            }

            foreach (RoleVO roleVo in roleVolist)
            {
                //初始化当前角色权限列表
                int[] hasPermissionlist = new int[permissionlist.Count];
                //获取角色、权限关联
                wherelist.Clear();
                wherelist.Add("roleID", roleVo.roleID);
                List <Role_PermissionVO> role_permissionVolist = role_PermissionDao.getAll <Role_PermissionVO>(wherelist);

                List <Permission> permissions = new List <Permission>();
                if (role_permissionVolist != null)
                {
                    foreach (Role_PermissionVO vo in role_permissionVolist)
                    {
                        for (int i = 0; i < permissionlist.Count; i++)
                        {
                            if (permissionlist[i].permissionID == vo.permissionID)
                            {
                                hasPermissionlist[i] = 1;
                            }
                        }
                    }
                }
                roles.roles.Add(
                    new Role
                {
                    roleID        = roleVo.roleID,
                    roleName      = roleVo.roleName,
                    hasPermission = hasPermissionlist
                });
            }

            return(Status.SUCCESS);
        }
Пример #2
0
        private void GetDatabaseUserRolesPermissions()
        {
            Dictionary <string, object> wherelist = new Dictionary <string, object>();

            //根据用户名从数据库中填充角色列表和权限列表
            PersonDAO personDao = Factory.getInstance <PersonDAO>();

            wherelist.Add("personName", this.userName);
            PersonVO personVo = personDao.getOne <PersonVO>(wherelist);

            if (personVo == null)
            {
                return;
            }
            this.userID = personVo.personID;

            Person_RoleDAO person_roleDao = Factory.getInstance <Person_RoleDAO>();

            wherelist.Clear();
            wherelist.Add("personID", userID);
            //获取用户、角色关联
            List <Person_RoleVO> person_roleVolist = person_roleDao.getAll <Person_RoleVO>(wherelist);

            if (person_roleVolist == null)
            {
                return;
            }

            foreach (Person_RoleVO person_roleVo in person_roleVolist)
            {
                UserRole userRole = new UserRole();

                userRole.roleID = person_roleVo.roleID;
                RoleDAO roleDAO = Factory.getInstance <RoleDAO>();
                //获取角色信息
                RoleVO roleVo = roleDAO.getOne <RoleVO>(userRole.roleID);
                if (roleVo == null)
                {
                    continue;
                }
                userRole.roleID   = roleVo.roleID;
                userRole.roleName = roleVo.roleName;

                Role_PermissionDAO rolePermissionDAO = Factory.getInstance <Role_PermissionDAO>();

                wherelist.Clear();
                wherelist.Add("roleID", roleVo.roleID);
                //获取角色、权限关联
                List <Role_PermissionVO> role_permissionVolist = rolePermissionDAO.getAll <Role_PermissionVO>(wherelist);
                if (role_permissionVolist == null)
                {
                    continue;
                }

                foreach (Role_PermissionVO role_permissionVo in role_permissionVolist)
                {
                    RolePermission rolePermission = new RolePermission();

                    rolePermission.permissionID = role_permissionVo.permissionID;
                    PermissionDAO permissionDAO = Factory.getInstance <PermissionDAO>();
                    //获取权限信息
                    PermissionVO permissionVo = permissionDAO.getOne <PermissionVO>(role_permissionVo.permissionID);
                    if (permissionVo == null)
                    {
                        continue;
                    }

                    rolePermission.PermissionDescription = permissionVo.permissionDescription;

                    userRole.permissions.Add(rolePermission);
                }
                roles.Add(userRole);
            }
        }