mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	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>
This commit is contained in:
		@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user