From c8e5c79cfda7e4c36b1a98c1abd3cdb50bde9d77 Mon Sep 17 00:00:00 2001 From: zeripath Date: Thu, 11 Mar 2021 13:40:54 +0000 Subject: Add ui.explore settings to control view of explore pages (2) (#14094) This is an alternative PR to #13687. Add `[ui.explore]` settings to allow restricting the explore pages to logged in users only and to disable the users explore page. The two proposed settings are: - `REQUIRE_SIGNIN_VIEW`: Only allows access to the explore pages if the user is signed in. Also restricts - `/api/v1/user/search` - `/api/v1/users/{username}` - `/api/v1/users/{username}/repos` - but does not restrict `/api/v1/users/{username}/heatmap` - `DISABLE_USERS_PAGE`: Disables the /explore/users page Fix #2908 Close #13687 Signed-off-by: Andrew Thornton Co-authored-by: 6543 <6543@obermui.de> --- modules/setting/service.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'modules/setting/service.go') diff --git a/modules/setting/service.go b/modules/setting/service.go index fc4326fde5..9696e98641 100644 --- a/modules/setting/service.go +++ b/modules/setting/service.go @@ -8,6 +8,7 @@ import ( "regexp" "time" + "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/structs" ) @@ -59,6 +60,12 @@ var Service struct { EnableOpenIDSignUp bool OpenIDWhitelist []*regexp.Regexp OpenIDBlacklist []*regexp.Regexp + + // Explore page settings + Explore struct { + RequireSigninView bool `ini:"REQUIRE_SIGNIN_VIEW"` + DisableUsersPage bool `ini:"DISABLE_USERS_PAGE"` + } `ini:"service.explore"` } func newService() { @@ -108,6 +115,10 @@ func newService() { Service.DefaultOrgMemberVisible = sec.Key("DEFAULT_ORG_MEMBER_VISIBLE").MustBool() Service.UserDeleteWithCommentsMaxTime = sec.Key("USER_DELETE_WITH_COMMENTS_MAX_TIME").MustDuration(0) + if err := Cfg.Section("service.explore").MapTo(&Service.Explore); err != nil { + log.Fatal("Failed to map service.explore settings: %v", err) + } + sec = Cfg.Section("openid") Service.EnableOpenIDSignIn = sec.Key("ENABLE_OPENID_SIGNIN").MustBool(!InstallLock) Service.EnableOpenIDSignUp = sec.Key("ENABLE_OPENID_SIGNUP").MustBool(!Service.DisableRegistration && Service.EnableOpenIDSignIn) -- cgit v1.2.3