]> source.dussan.org Git - gitea.git/commitdiff
Add a /user/login landing page option (#9622)
authorTimon Engelke <timonegk@users.noreply.github.com>
Mon, 6 Jan 2020 16:50:44 +0000 (17:50 +0100)
committerAntoine GIRARD <sapk@users.noreply.github.com>
Mon, 6 Jan 2020 16:50:44 +0000 (17:50 +0100)
* Add a /user/login landing page option

* Add test case for login landing page

custom/conf/app.ini.sample
docs/content/doc/advanced/config-cheat-sheet.en-us.md
integrations/setting_test.go
modules/setting/setting.go

index b082bc40f16c57d4fe13dbe5aa4fe50029080f00..8b72ead3d60fef2faf35c88310838995f8389b34 100644 (file)
@@ -290,7 +290,8 @@ ENABLE_GZIP = false
 ENABLE_PPROF = false
 ; PPROF_DATA_PATH, use an absolute path when you start gitea as service
 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
 ; Enables git-lfs support. true or false, default is false.
 LFS_START_SERVER = false
index 08aca1edf2b6810f17bc9ce3640e79e38c88f010..691c543a6ca28a9685b5ffa5f10a24adbc02a876 100644 (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_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.
-- `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_CONTENT_PATH`: **./data/lfs**: Where to store LFS files.
 - `LFS_JWT_SECRET`: **\<empty\>**: LFS authentication secret, change this a unique string.
index 518a3b7c6f8f52e940c4be011a1d49fcad7b6784..eb495acb2445410986e3088f32cdd21a32cbcd5f 100644 (file)
@@ -99,5 +99,10 @@ func TestSettingLandingPage(t *testing.T) {
        resp = MakeRequest(t, req, http.StatusFound)
        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
 }
index dbf43f31ee2588993d7a8380b2ad7b1f08d2d906..2a5e37b41b448f0895d98927362dd9e7fcda6ca7 100644 (file)
@@ -54,6 +54,7 @@ const (
        LandingPageHome          LandingPage = "/"
        LandingPageExplore       LandingPage = "/explore"
        LandingPageOrganizations LandingPage = "/explore/organizations"
+       LandingPageLogin         LandingPage = "/user/login"
 )
 
 // enumerates all the types of captchas
@@ -648,6 +649,8 @@ func NewContext() {
                LandingPageURL = LandingPageExplore
        case "organizations":
                LandingPageURL = LandingPageOrganizations
+       case "login":
+               LandingPageURL = LandingPageLogin
        default:
                LandingPageURL = LandingPageHome
        }