summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2021-03-11 13:40:54 +0000
committerGitHub <noreply@github.com>2021-03-11 13:40:54 +0000
commitc8e5c79cfda7e4c36b1a98c1abd3cdb50bde9d77 (patch)
tree538c00f48c8d03979b0323b057cb7bd3ed19b969 /modules
parentbc423a1e8445c01b5f590b86657c9a49b0bfdd8c (diff)
downloadgitea-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.go11
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)