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> --- routers/routes/web.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'routers/routes/web.go') diff --git a/routers/routes/web.go b/routers/routes/web.go index 22774b2cdc..08faa274a5 100644 --- a/routers/routes/web.go +++ b/routers/routes/web.go @@ -286,6 +286,7 @@ func goGet(ctx *context.Context) { func RegisterRoutes(m *web.Route) { reqSignIn := context.Toggle(&context.ToggleOptions{SignInRequired: true}) ignSignIn := context.Toggle(&context.ToggleOptions{SignInRequired: setting.Service.RequireSignInView}) + ignExploreSignIn := context.Toggle(&context.ToggleOptions{SignInRequired: setting.Service.RequireSignInView || setting.Service.Explore.RequireSigninView}) ignSignInAndCsrf := context.Toggle(&context.ToggleOptions{DisableCSRF: true}) reqSignOut := context.Toggle(&context.ToggleOptions{SignOutRequired: true}) @@ -335,7 +336,7 @@ func RegisterRoutes(m *web.Route) { m.Get("/users", routers.ExploreUsers) m.Get("/organizations", routers.ExploreOrganizations) m.Get("/code", routers.ExploreCode) - }, ignSignIn) + }, ignExploreSignIn) m.Get("/issues", reqSignIn, user.Issues) m.Get("/pulls", reqSignIn, user.Pulls) m.Get("/milestones", reqSignIn, reqMilestonesDashboardPageEnabled, user.Milestones) -- cgit v1.2.3