mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Added disable user sign up feature
This commit is contained in:
@@ -59,7 +59,7 @@ login_remember_days = 7
|
|||||||
cookie_username = grafana_user
|
cookie_username = grafana_user
|
||||||
cookie_remember_name = grafana_remember
|
cookie_remember_name = grafana_remember
|
||||||
; disable user signup / registration
|
; disable user signup / registration
|
||||||
; disable_user_signup = false, not implemented yet
|
disable_user_signup = false
|
||||||
|
|
||||||
[account.single]
|
[account.single]
|
||||||
; Enable this feature to auto assign new users to a single account, suitable for NON multi tenant setups
|
; Enable this feature to auto assign new users to a single account, suitable for NON multi tenant setups
|
||||||
|
|||||||
2
grafana
2
grafana
Submodule grafana updated: 3b5c813be7...740709da04
@@ -18,7 +18,7 @@ func Register(r *macaron.Macaron) {
|
|||||||
|
|
||||||
// not logged in views
|
// not logged in views
|
||||||
r.Get("/", reqSignedIn, Index)
|
r.Get("/", reqSignedIn, Index)
|
||||||
r.Post("/logout", LogoutPost)
|
r.Get("/logout", Logout)
|
||||||
r.Post("/login", bind(dtos.LoginCommand{}), LoginPost)
|
r.Post("/login", bind(dtos.LoginCommand{}), LoginPost)
|
||||||
r.Get("/login/:name", OAuthLogin)
|
r.Get("/login/:name", OAuthLogin)
|
||||||
r.Get("/login", LoginView)
|
r.Get("/login", LoginView)
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ func LoginView(c *middleware.Context) {
|
|||||||
settings := c.Data["Settings"].(map[string]interface{})
|
settings := c.Data["Settings"].(map[string]interface{})
|
||||||
settings["googleAuthEnabled"] = setting.OAuthService.Google
|
settings["googleAuthEnabled"] = setting.OAuthService.Google
|
||||||
settings["githubAuthEnabled"] = setting.OAuthService.GitHub
|
settings["githubAuthEnabled"] = setting.OAuthService.GitHub
|
||||||
|
settings["disableUserSignUp"] = setting.DisableUserSignUp
|
||||||
|
|
||||||
// Check auto-login.
|
// Check auto-login.
|
||||||
uname := c.GetCookie(setting.CookieUserName)
|
uname := c.GetCookie(setting.CookieUserName)
|
||||||
@@ -122,9 +123,9 @@ func loginUserWithUser(user *m.User, c *middleware.Context) {
|
|||||||
c.Session.Set(middleware.SESS_KEY_USERID, user.Id)
|
c.Session.Set(middleware.SESS_KEY_USERID, user.Id)
|
||||||
}
|
}
|
||||||
|
|
||||||
func LogoutPost(c *middleware.Context) {
|
func Logout(c *middleware.Context) {
|
||||||
c.SetCookie(setting.CookieUserName, "", -1, setting.AppSubUrl+"/")
|
c.SetCookie(setting.CookieUserName, "", -1, setting.AppSubUrl+"/")
|
||||||
c.SetCookie(setting.CookieRememberName, "", -1, setting.AppSubUrl+"/")
|
c.SetCookie(setting.CookieRememberName, "", -1, setting.AppSubUrl+"/")
|
||||||
c.Session.Destory(c.Context)
|
c.Session.Destory(c.Context)
|
||||||
c.JsonOK("logged out")
|
c.Redirect(setting.AppSubUrl + "/login")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,6 +56,11 @@ func OAuthLogin(ctx *middleware.Context) {
|
|||||||
|
|
||||||
// create account if missing
|
// create account if missing
|
||||||
if err == m.ErrUserNotFound {
|
if err == m.ErrUserNotFound {
|
||||||
|
if setting.DisableUserSignUp {
|
||||||
|
ctx.Redirect(setting.AppSubUrl + "/login")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
cmd := m.CreateUserCommand{
|
cmd := m.CreateUserCommand{
|
||||||
Login: userInfo.Email,
|
Login: userInfo.Email,
|
||||||
Email: userInfo.Email,
|
Email: userInfo.Email,
|
||||||
|
|||||||
@@ -4,10 +4,15 @@ import (
|
|||||||
"github.com/torkelo/grafana-pro/pkg/bus"
|
"github.com/torkelo/grafana-pro/pkg/bus"
|
||||||
"github.com/torkelo/grafana-pro/pkg/middleware"
|
"github.com/torkelo/grafana-pro/pkg/middleware"
|
||||||
m "github.com/torkelo/grafana-pro/pkg/models"
|
m "github.com/torkelo/grafana-pro/pkg/models"
|
||||||
|
"github.com/torkelo/grafana-pro/pkg/setting"
|
||||||
)
|
)
|
||||||
|
|
||||||
// POST /api/user/signup
|
// POST /api/user/signup
|
||||||
func SignUp(c *middleware.Context, cmd m.CreateUserCommand) {
|
func SignUp(c *middleware.Context, cmd m.CreateUserCommand) {
|
||||||
|
if setting.DisableUserSignUp {
|
||||||
|
c.JsonApiErr(401, "User signup is disabled", nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
cmd.Login = cmd.Email
|
cmd.Login = cmd.Email
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ var CmdWeb = cli.Command{
|
|||||||
}
|
}
|
||||||
|
|
||||||
func newMacaron() *macaron.Macaron {
|
func newMacaron() *macaron.Macaron {
|
||||||
|
macaron.Env = setting.Env
|
||||||
|
|
||||||
m := macaron.New()
|
m := macaron.New()
|
||||||
m.Use(middleware.Logger())
|
m.Use(middleware.Logger())
|
||||||
m.Use(macaron.Recovery())
|
m.Use(macaron.Recovery())
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ func GetContextHandler() macaron.Handler {
|
|||||||
func (ctx *Context) Handle(status int, title string, err error) {
|
func (ctx *Context) Handle(status int, title string, err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(4, "%s: %v", title, err)
|
log.Error(4, "%s: %v", title, err)
|
||||||
if macaron.Env != macaron.PROD {
|
if setting.Env != setting.PROD {
|
||||||
ctx.Data["ErrorMsg"] = err
|
ctx.Data["ErrorMsg"] = err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ var (
|
|||||||
LogInRememberDays int
|
LogInRememberDays int
|
||||||
CookieUserName string
|
CookieUserName string
|
||||||
CookieRememberName string
|
CookieRememberName string
|
||||||
|
DisableUserSignUp bool
|
||||||
|
|
||||||
// single account
|
// single account
|
||||||
SingleAccountMode bool
|
SingleAccountMode bool
|
||||||
@@ -196,6 +197,7 @@ func NewConfigContext() {
|
|||||||
LogInRememberDays = security.Key("login_remember_days").MustInt()
|
LogInRememberDays = security.Key("login_remember_days").MustInt()
|
||||||
CookieUserName = security.Key("cookie_username").String()
|
CookieUserName = security.Key("cookie_username").String()
|
||||||
CookieRememberName = security.Key("cookie_remember_name").String()
|
CookieRememberName = security.Key("cookie_remember_name").String()
|
||||||
|
DisableUserSignUp = security.Key("disable_user_signup").MustBool(false)
|
||||||
|
|
||||||
// admin
|
// admin
|
||||||
AdminUser = security.Key("admin_user").String()
|
AdminUser = security.Key("admin_user").String()
|
||||||
|
|||||||
Reference in New Issue
Block a user