在我自己托管的GitLab CE安装中,有一个Explore链接,这样就不会为没有登录的用户提供读取权限。我怎么能禁用它?
答案 0 :(得分:1)
我认为您必须将项目的可见性设置为私有或内部。除此之外,我认为存储库应配置为仅由我的团队成员查看以获得额外的安全层。
这些是我在那里托管的一些项目的设置,它们没有出现在“探索”部分。您可以在每个项目的Settings
标签中查看它们。
答案 1 :(得分:1)
如果您仍想使用“探索”部分但希望阻止外部用户克隆项目,则需要将这些项目设置为Internal
可见性级别。
Here是不同能见度水平的一个概念。作为管理员,您可以将restrict项目设置为Public
,并且仅允许Private
和Internal
级别。
答案 2 :(得分:1)
您无法禁用此链接,但您可以将其重定向回匿名用户的登录页面。
cd /opt/gitlab/embedded/service/gitlab-rails/app/controllers/
sudo cp application_controller.rb application_controller.rb.orig
sudo vim application_controller.rb
并将以下代码段添加到application_controller.rb
...
before_action :force_authenticated_user!
...
def force_authenticated_user!(*args)
if (!current_user) and (["/explore", "/help", "/public", "/users/password/new", "/users/password/edit"].include?(request.path))
redirect_to new_user_session_path and return
end
end
...
所有路径的或更好的方法(带子目录):
...
before_action :force_authenticated_user!
...
def force_authenticated_user!(*args)
if (!current_user) and (["/users/sign_in", "/users/password","/uploads/-/system/appearance/header_logo/1/your_logo.PNG","/users/auth/ldapmain/callback"].exclude?(request.path))
redirect_to new_user_session_path and return
end
end
...