diff options
author | zeripath <art27@cantab.net> | 2021-03-11 13:40:54 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-11 13:40:54 +0000 |
commit | c8e5c79cfda7e4c36b1a98c1abd3cdb50bde9d77 (patch) | |
tree | 538c00f48c8d03979b0323b057cb7bd3ed19b969 /modules | |
parent | bc423a1e8445c01b5f590b86657c9a49b0bfdd8c (diff) | |
download | gitea-c8e5c79cfda7e4c36b1a98c1abd3cdb50bde9d77.tar.gz gitea-c8e5c79cfda7e4c36b1a98c1abd3cdb50bde9d77.zip |
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 <art27@cantab.net>
Co-authored-by: 6543 <6543@obermui.de>
Diffstat (limited to 'modules')
-rw-r--r-- | modules/setting/service.go | 11 |
1 files changed, 11 insertions, 0 deletions
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) |