当前位置: 首页 > news >正文

个人备案网站做商业如何推广品牌

个人备案网站做商业,如何推广品牌,互联网营销师培训内容,动态网站设计论文1500字背景 前段时间,因内部使用的 Gitlab 版本存在漏洞,需要进行升级,于是乎,将 Gitlab 从 16.6.0 升级到 16.11.3。而我们项目有个接口是用于获取 Gitlab 上的开发人员。 然后,今天,突然发现这个接口获取不到…

背景

前段时间,因内部使用的 Gitlab 版本存在漏洞,需要进行升级,于是乎,将 Gitlab 从 16.6.0 升级到 16.11.3。而我们项目有个接口是用于获取 Gitlab 上的开发人员。

然后,今天,突然发现这个接口获取不到 Gitlab 上任何成员(响应空数组),也没有报错信息。如下:
在这里插入图片描述

分析

  1. 首先是查看 Gitlab 是否正常,人员配置信息是否存在,排查之后发现都是正常的。

  2. 询问其他人最近是否有修改过 Gitlab 相关配置,貌似没有???

  3. 上网搜索相关信息,无果……

  4. 是否是因为升级了 Gitlab 导致的?时间恰好能对上!!!那就看下官方文档

    文档地址:分组和项目成员 API

官方文档

首先看到的是 List all members of a group or project(列出组或项目的所有成员)

API 如下:

GET /groups/:id/members
GET /projects/:id/members

我们项目用的确实是这个 API,上面也说了是所有成员,那怎么就响应了空数组呢?再细看标题下面的介绍:

Gets a list of group or project members viewable by the authenticated user. Returns only direct members and not inherited members through ancestors groups.
获取已认证的用户并有权限查看的组或项目成员列表,但只返回直接成员,不返回通过祖先组(类似 Java 的父类)继承的成员。

啥?啥意思?啥是直接成员?说好的所有成员,怎么就只返回直接成员?


在 Gitlab 中,可以创建组,组中可以创建多个子组,子组可以创建多个项目

以下是关于 Gitlab 中成员类型的介绍:

成员类型成员描述
直接成员直接被添加到当前的群组或项目中的用户
间接成员通过继承父群组的成员或通过邀请加入其他群组或项目的用户
继承成员如果一个群组是另一个父群组的子群组,父群组的成员也会成为子群组的用户
共享成员通过邀请的方式加入到当前群组或项目或其祖先组的用户
继承共享成员被邀请到当前群组或项目的父群组或项目的用户

假如你创建了A组,并在A组创建了test项目,然后将小一同学添加到了A组,那么小一同学就是A组的直接成员,而test项目也有小一同学这个成员,只不过他是继承过来的,所以不属于test项目的直接成员。

那么,要如何获取到这个项目真正的所有成员呢?


根据文档往下看,看到 List all members of a group or project including inherited and invited members(列出组或项目的所有成员,包括继承成员和邀请成员),看着是有那么点像我们要的了!!!

API 如下:

GET /groups/:id/members/all
GET /projects/:id/members/all

经过一试,确实可以!!!
在这里插入图片描述

来具体看下介绍:

Gets a list of group or project members viewable by the authenticated user, including inherited members, invited users, and permissions through ancestor groups.
获取已认证的用户并有权限查看的组或项目成员列表,包括通过祖先组继承的成员、受邀用户以及权限

If a user is a member of this group or project and also of one or more ancestor groups, only its membership with the highest access_level is returned. This represents the effective permission of the user.
如果用户是这个组或项目的成员,同时也是一个或多个祖先组的成员,那么只会返回其拥有最高 access_level (访问权限),表示该用户的有效权限。

Members from an invited group are returned if either:

  • The invited group is public.
  • The requester is also a member of the invited group.
  • The requester is a member of the shared group or project.

如果满足以下条件之一,则会返回受邀组的成员:

  • 受邀组是公开的
  • 请求者也是受邀组的成员
  • 请求者是共享组或项目的成员

看来确实得用这个 API 才能后真正获取到分组或项目中所有的成员。

查看了其它版本的文档,也有这两个接口,那也许不是因为版本差异导致的?可能是配置?静待后续……

经过回溯原来的测试记录后,发现当时测试的项目的成员是直接加进去,也就是属于直接成员,所以就没有问题!而 Gitlab 中绝大多数成员都是直接添加到 Group 中的,因此通过 /members 就获取不到了!

说到底,还是测试做得不够好!!!

webui_members_inherited_users

webui_members_inherited_users 是一个功能标志,用于控制是否在成员页面中显示被邀请的群组成员。在 GitLab 16.10 中引入此功能,并默认禁用。

之所以引入这个,是因为在 GitLab 13.1 版本中,引入了允许群组与其他群组共享。但是,当使用群组成员 API 时,无法获取那些被邀请的群组成员,可能影响到用户在管理项目和群组成员时的体验和效率。
具体见:https://gitlab.com/gitlab-org/gitlab/-/issues/219230

关于该功能标志的相关配置:

  1. 登录 Gitlab 所在的服务器

  2. 启动 Rails 控制台

    sudo gitlab-rails console
    
  3. 在控制台中,查询当前的标志状态或更改

    # 查询当前状态
    Feature.enabled?(:webui_members_inherited_users)# 启用功能标志
    Feature.enable(:webui_members_inherited_users)# 禁用功能标志
    Feature.disable(:webui_members_inherited_users)
    
  4. 退出控制台

    exit
    
http://www.hengruixuexiao.com/news/5150.html

相关文章:

  • 做网站时如何给文字做超链接产品推广计划方案模板
  • 今年刚做电商网站慧有生意吗百度seo怎么查排名
  • 做私活一个网站大概多少钱百度指数资讯指数
  • 公司网站被黑有不良信息 做笔录西地那非片
  • 高明网站建设首选公司网站主页
  • 购物网站建设策划报告环球网疫情最新
  • 中国电子信息网宁波seo推广优化
  • 本地人才招聘网网站seo标题优化技巧
  • python 可以做网站吗海外网络专线
  • 网站开发文档 php武汉seo首页优化公司
  • 番禺网站建设方案同城推广平台
  • wordpress 手册 插件北京外贸网站优化
  • 郑州市建设厅网站湘潭网页设计
  • wordpress 图片放在哪里页面seo优化
  • 银川网站建设多少钱深圳推广平台有哪些
  • 兰州网站建设加王道下拉凡科建站官网入口
  • 网站建设 自适应长春网站建设技术支持
  • html5简单网页制作代码网站seo方案案例
  • 东莞网站包年优化情感营销案例
  • 做app需要什么条件重庆网站优化排名推广
  • cocos2d-js可以做网站吗东莞网站制作十年乐云seo
  • wordpress海外支付宝太原seo哪家好
  • 做网站的服务器cpu异常公司关键词排名优化
  • 湖南小企业网站建设怎么做网站seo诊断报告怎么写
  • 打开网址跳转到国外网站企业网站推广注意事项
  • 专业做网站的公司哪家好湖南seo推广系统
  • 网页设计与网站建设连接数据库怎么推广软件
  • 网站建设与开发的收获与体会西安网站seo服务
  • 哈密网站制作公司域名邮箱 400电话
  • 上海网站开发工程师网络营销的特点主要包括什么