diff --git a/pkg/api/password.go b/pkg/api/password.go index 7dd901c898e..4776c6a3064 100644 --- a/pkg/api/password.go +++ b/pkg/api/password.go @@ -4,10 +4,18 @@ import ( "github.com/grafana/grafana/pkg/api/dtos" "github.com/grafana/grafana/pkg/bus" m "github.com/grafana/grafana/pkg/models" + "github.com/grafana/grafana/pkg/setting" "github.com/grafana/grafana/pkg/util" ) func SendResetPasswordEmail(c *m.ReqContext, form dtos.SendResetPasswordEmailForm) Response { + if setting.LdapEnabled || setting.AuthProxyEnabled { + return Error(401, "Not allowed to reset password when LDAP or Auth Proxy is enabled", nil) + } + if setting.DisableLoginForm { + return Error(401, "Not allowed to reset password when login form is disabled", nil) + } + userQuery := m.GetUserByLoginQuery{LoginOrEmail: form.UserOrEmail} if err := bus.Dispatch(&userQuery); err != nil { diff --git a/public/app/core/controllers/reset_password_ctrl.ts b/public/app/core/controllers/reset_password_ctrl.ts index 933655399e8..9ad6864ece2 100644 --- a/public/app/core/controllers/reset_password_ctrl.ts +++ b/public/app/core/controllers/reset_password_ctrl.ts @@ -1,4 +1,5 @@ import coreModule from '../core_module'; +import config from 'app/core/config'; export class ResetPasswordCtrl { /** @ngInject */ @@ -6,6 +7,9 @@ export class ResetPasswordCtrl { contextSrv.sidemenu = false; $scope.formModel = {}; $scope.mode = 'send'; + $scope.ldapEnabled = config.ldapEnabled; + $scope.authProxyEnabled = config.authProxyEnabled; + $scope.disableLoginForm = config.disableLoginForm; const params = $location.search(); if (params.code) { diff --git a/public/app/partials/login.html b/public/app/partials/login.html index a2bc8173766..f4237e7b1ec 100644 --- a/public/app/partials/login.html +++ b/public/app/partials/login.html @@ -22,7 +22,7 @@ -