Add a /user/login landing page option (#9622)

* Add a /user/login landing page option

* Add test case for login landing page
release/v1.15
Timon Engelke 2020-01-06 17:50:44 +01:00 committed by Antoine GIRARD
parent bcac7cb934
commit abc0f53539
4 changed files with 11 additions and 2 deletions

View File

@ -290,7 +290,8 @@ ENABLE_GZIP = false
ENABLE_PPROF = false ENABLE_PPROF = false
; PPROF_DATA_PATH, use an absolute path when you start gitea as service ; PPROF_DATA_PATH, use an absolute path when you start gitea as service
PPROF_DATA_PATH = data/tmp/pprof PPROF_DATA_PATH = data/tmp/pprof
; Landing page, can be "home", "explore", or "organizations" ; Landing page, can be "home", "explore", "organizations" or "login"
; The "login" choice is not a security measure but just a UI flow change, use REQUIRE_SIGNIN_VIEW to force users to log in.
LANDING_PAGE = home LANDING_PAGE = home
; Enables git-lfs support. true or false, default is false. ; Enables git-lfs support. true or false, default is false.
LFS_START_SERVER = false LFS_START_SERVER = false

View File

@ -186,7 +186,7 @@ Values containing `#` or `;` must be quoted using `` ` `` or `"""`.
- `STATIC_ROOT_PATH`: **./**: Upper level of template and static files path. - `STATIC_ROOT_PATH`: **./**: Upper level of template and static files path.
- `STATIC_CACHE_TIME`: **6h**: Web browser cache time for static resources on `custom/`, `public/` and all uploaded avatars. - `STATIC_CACHE_TIME`: **6h**: Web browser cache time for static resources on `custom/`, `public/` and all uploaded avatars.
- `ENABLE_GZIP`: **false**: Enables application-level GZIP support. - `ENABLE_GZIP`: **false**: Enables application-level GZIP support.
- `LANDING_PAGE`: **home**: Landing page for unauthenticated users \[home, explore\]. - `LANDING_PAGE`: **home**: Landing page for unauthenticated users \[home, explore, organizations, login\].
- `LFS_START_SERVER`: **false**: Enables git-lfs support. - `LFS_START_SERVER`: **false**: Enables git-lfs support.
- `LFS_CONTENT_PATH`: **./data/lfs**: Where to store LFS files. - `LFS_CONTENT_PATH`: **./data/lfs**: Where to store LFS files.
- `LFS_JWT_SECRET`: **\<empty\>**: LFS authentication secret, change this a unique string. - `LFS_JWT_SECRET`: **\<empty\>**: LFS authentication secret, change this a unique string.

View File

@ -99,5 +99,10 @@ func TestSettingLandingPage(t *testing.T) {
resp = MakeRequest(t, req, http.StatusFound) resp = MakeRequest(t, req, http.StatusFound)
assert.Equal(t, "/explore/organizations", resp.Header().Get("Location")) assert.Equal(t, "/explore/organizations", resp.Header().Get("Location"))
setting.LandingPageURL = setting.LandingPageLogin
req = NewRequest(t, "GET", "/")
resp = MakeRequest(t, req, http.StatusFound)
assert.Equal(t, "/user/login", resp.Header().Get("Location"))
setting.LandingPageURL = landingPage setting.LandingPageURL = landingPage
} }

View File

@ -54,6 +54,7 @@ const (
LandingPageHome LandingPage = "/" LandingPageHome LandingPage = "/"
LandingPageExplore LandingPage = "/explore" LandingPageExplore LandingPage = "/explore"
LandingPageOrganizations LandingPage = "/explore/organizations" LandingPageOrganizations LandingPage = "/explore/organizations"
LandingPageLogin LandingPage = "/user/login"
) )
// enumerates all the types of captchas // enumerates all the types of captchas
@ -648,6 +649,8 @@ func NewContext() {
LandingPageURL = LandingPageExplore LandingPageURL = LandingPageExplore
case "organizations": case "organizations":
LandingPageURL = LandingPageOrganizations LandingPageURL = LandingPageOrganizations
case "login":
LandingPageURL = LandingPageLogin
default: default:
LandingPageURL = LandingPageHome LandingPageURL = LandingPageHome
} }