mirror of
https://github.com/grafana/grafana.git
synced 2025-07-30 14:52:46 +08:00
Basic Auth now supports LDAP username and password (#6940)
This commit is contained in:

committed by
Torkel Ödegaard

parent
0841e841f5
commit
5777f65d05
@ -18,7 +18,7 @@ Currently you can authenticate via an `API Token` or via a `Session cookie` (acq
|
|||||||
## Basic Auth
|
## Basic Auth
|
||||||
|
|
||||||
If basic auth is enabled (it is enabled by default) you can authenticate your HTTP request via
|
If basic auth is enabled (it is enabled by default) you can authenticate your HTTP request via
|
||||||
standard basic auth.
|
standard basic auth. Basic auth will also authenticate LDAP users.
|
||||||
|
|
||||||
curl example:
|
curl example:
|
||||||
```
|
```
|
||||||
|
@ -9,6 +9,7 @@ import (
|
|||||||
"github.com/grafana/grafana/pkg/bus"
|
"github.com/grafana/grafana/pkg/bus"
|
||||||
"github.com/grafana/grafana/pkg/components/apikeygen"
|
"github.com/grafana/grafana/pkg/components/apikeygen"
|
||||||
"github.com/grafana/grafana/pkg/log"
|
"github.com/grafana/grafana/pkg/log"
|
||||||
|
l "github.com/grafana/grafana/pkg/login"
|
||||||
"github.com/grafana/grafana/pkg/metrics"
|
"github.com/grafana/grafana/pkg/metrics"
|
||||||
m "github.com/grafana/grafana/pkg/models"
|
m "github.com/grafana/grafana/pkg/models"
|
||||||
"github.com/grafana/grafana/pkg/setting"
|
"github.com/grafana/grafana/pkg/setting"
|
||||||
@ -137,6 +138,7 @@ func initContextWithApiKey(ctx *Context) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func initContextWithBasicAuth(ctx *Context) bool {
|
func initContextWithBasicAuth(ctx *Context) bool {
|
||||||
|
|
||||||
if !setting.BasicAuthEnabled {
|
if !setting.BasicAuthEnabled {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
@ -160,9 +162,9 @@ func initContextWithBasicAuth(ctx *Context) bool {
|
|||||||
|
|
||||||
user := loginQuery.Result
|
user := loginQuery.Result
|
||||||
|
|
||||||
// validate password
|
loginUserQuery := l.LoginUserQuery{Username: username, Password: password, User: user}
|
||||||
if util.EncodePassword(password, user.Salt) != user.Password {
|
if err := bus.Dispatch(&loginUserQuery); err != nil {
|
||||||
ctx.JsonApiErr(401, "Invalid username or password", nil)
|
ctx.JsonApiErr(401, "Invalid username or password", err)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user