From 9775de3d78472719154b8ca1133a5db9fa1e1b41 Mon Sep 17 00:00:00 2001 From: Penghao Cen Date: Mon, 24 Oct 2016 14:30:31 +0800 Subject: [PATCH 1/9] Add prettyjws in pattern for signed manifest support --- src/ui/service/notification.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/service/notification.go b/src/ui/service/notification.go index 33ef0ba7a..a47ea60fa 100644 --- a/src/ui/service/notification.go +++ b/src/ui/service/notification.go @@ -35,7 +35,7 @@ type NotificationHandler struct { beego.Controller } -const manifestPattern = `^application/vnd.docker.distribution.manifest.v\d\+json` +const manifestPattern = `^application/vnd.docker.distribution.manifest.v\d\+(json|prettyjws)` // Post handles POST request, and records audit log or refreshes cache based on event. func (n *NotificationHandler) Post() { From 45803b53e15023997e70a8c672d7c72858da1d45 Mon Sep 17 00:00:00 2001 From: kunw Date: Tue, 25 Oct 2016 16:20:42 +0800 Subject: [PATCH 2/9] Updates for blocking account settings in LDAP auth mode. --- src/ui/controllers/accountsetting.go | 7 +++++++ src/ui/controllers/changepassword.go | 7 +++++++ src/ui/controllers/optionalmenu.go | 6 ++++++ src/ui/controllers/signup.go | 2 +- src/ui/views/optional-menu.htm | 2 ++ 5 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/ui/controllers/accountsetting.go b/src/ui/controllers/accountsetting.go index 5d49e60d7..516547b98 100644 --- a/src/ui/controllers/accountsetting.go +++ b/src/ui/controllers/accountsetting.go @@ -1,5 +1,9 @@ package controllers +import ( + "net/http" +) + // AccountSettingController handles request to /account_setting type AccountSettingController struct { BaseController @@ -7,5 +11,8 @@ type AccountSettingController struct { // Get renders the account settings page func (asc *AccountSettingController) Get() { + if asc.AuthMode != "db_auth" { + asc.CustomAbort(http.StatusForbidden, "") + } asc.Forward("page_title_account_setting", "account-settings.htm") } diff --git a/src/ui/controllers/changepassword.go b/src/ui/controllers/changepassword.go index 0ecddb29c..842cbe2f2 100644 --- a/src/ui/controllers/changepassword.go +++ b/src/ui/controllers/changepassword.go @@ -1,5 +1,9 @@ package controllers +import ( + "net/http" +) + // ChangePasswordController handles request to /change_password type ChangePasswordController struct { BaseController @@ -7,5 +11,8 @@ type ChangePasswordController struct { // Get renders the change password page func (asc *ChangePasswordController) Get() { + if asc.AuthMode != "db_auth" { + asc.CustomAbort(http.StatusForbidden, "") + } asc.Forward("page_title_change_password", "change-password.htm") } diff --git a/src/ui/controllers/optionalmenu.go b/src/ui/controllers/optionalmenu.go index 80524d55f..96efcac68 100644 --- a/src/ui/controllers/optionalmenu.go +++ b/src/ui/controllers/optionalmenu.go @@ -19,6 +19,7 @@ func (omc *OptionalMenuController) Get() { var hasLoggedIn bool var allowAddNew bool + var allowSettingAccount bool if sessionUserID != nil { hasLoggedIn = true @@ -34,6 +35,10 @@ func (omc *OptionalMenuController) Get() { } omc.Data["Username"] = u.Username + if omc.AuthMode == "db_auth" { + allowSettingAccount = true + } + isAdmin, err := dao.IsAdminRole(sessionUserID.(int)) if err != nil { log.Errorf("Error occurred in IsAdminRole: %v", err) @@ -45,6 +50,7 @@ func (omc *OptionalMenuController) Get() { } } omc.Data["AddNew"] = allowAddNew + omc.Data["SettingAccount"] = allowSettingAccount omc.Data["HasLoggedIn"] = hasLoggedIn omc.TplName = "optional-menu.htm" omc.Render() diff --git a/src/ui/controllers/signup.go b/src/ui/controllers/signup.go index 6ed75b01b..d3b7bdc90 100644 --- a/src/ui/controllers/signup.go +++ b/src/ui/controllers/signup.go @@ -12,7 +12,7 @@ type SignUpController struct { // Get renders sign up page func (suc *SignUpController) Get() { if suc.AuthMode != "db_auth" || !suc.SelfRegistration { - suc.CustomAbort(http.StatusUnauthorized, "Status unauthorized.") + suc.CustomAbort(http.StatusForbidden, "") } suc.Data["AddNew"] = false suc.Forward("page_title_sign_up", "sign-up.htm") diff --git a/src/ui/views/optional-menu.htm b/src/ui/views/optional-menu.htm index b32ec201f..56d78b9a1 100644 --- a/src/ui/views/optional-menu.htm +++ b/src/ui/views/optional-menu.htm @@ -21,7 +21,9 @@ {{ if eq .AddNew true }}
  •   // 'add_new_title' | tr //
  • {{ end }} + {{ if eq .SettingAccount true }}
  •   // 'account_setting' | tr //
  • + {{ end }}