當前位置: 首頁>>代碼示例>>Golang>>正文


Golang Context.GetCookie方法代碼示例

本文整理匯總了Golang中github.com/Cepave/grafana/pkg/middleware.Context.GetCookie方法的典型用法代碼示例。如果您正苦於以下問題:Golang Context.GetCookie方法的具體用法?Golang Context.GetCookie怎麽用?Golang Context.GetCookie使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/Cepave/grafana/pkg/middleware.Context的用法示例。


在下文中一共展示了Context.GetCookie方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: tryLoginUsingRememberCookie

func tryLoginUsingRememberCookie(c *middleware.Context) bool {
	// Check auto-login.
	uname := c.GetCookie(setting.CookieUserName)
	if len(uname) == 0 {
		return false
	}

	isSucceed := false
	defer func() {
		if !isSucceed {
			log.Trace("auto-login cookie cleared: %s", uname)
			c.SetCookie(setting.CookieUserName, "", -1, setting.AppSubUrl+"/")
			c.SetCookie(setting.CookieRememberName, "", -1, setting.AppSubUrl+"/")
			return
		}
	}()

	userQuery := m.GetUserByLoginQuery{LoginOrEmail: uname}
	if err := bus.Dispatch(&userQuery); err != nil {
		return false
	}

	user := userQuery.Result

	// validate remember me cookie
	if val, _ := c.GetSuperSecureCookie(
		util.EncodeMd5(user.Rands+user.Password), setting.CookieRememberName); val != user.Login {
		return false
	}

	isSucceed = true
	loginUserWithUser(user, c)
	return true
}
開發者ID:Cepave,項目名稱:grafana,代碼行數:34,代碼來源:login.go

示例2: LoginPost

func LoginPost(c *middleware.Context, cmd dtos.LoginCommand) Response {
	authQuery := login.LoginUserQuery{
		Username: cmd.User,
		Password: cmd.Password,
	}

	if err := bus.Dispatch(&authQuery); err != nil {
		if err == login.ErrInvalidCredentials {
			return ApiError(401, "Invalid username or password", err)
		}

		return ApiError(500, "Error while trying to authenticate user", err)
	}

	user := authQuery.User

	loginUserWithUser(user, c)

	result := map[string]interface{}{
		"message": "Logged in",
	}

	if redirectTo, _ := url.QueryUnescape(c.GetCookie("redirect_to")); len(redirectTo) > 0 {
		result["redirectUrl"] = redirectTo
		c.SetCookie("redirect_to", "", -1, setting.AppSubUrl+"/")
	}

	metrics.M_Api_Login_Post.Inc(1)

	return Json(200, result)
}
開發者ID:Cepave,項目名稱:grafana,代碼行數:31,代碼來源:login.go

示例3: LoginView

func LoginView(c *middleware.Context) {
	sig := c.GetCookie("sig")
	if len(sig) > 0 {
		c.Redirect(setting.AppSubUrl + "/")
		return
	} else {
		c.Redirect(setting.ConfigOpenFalcon.Login)
		return
	}

	if err := setIndexViewData(c); err != nil {
		c.Handle(500, "Failed to get settings", err)
		return
	}

	settings := c.Data["Settings"].(map[string]interface{})
	settings["googleAuthEnabled"] = setting.OAuthService.Google
	settings["githubAuthEnabled"] = setting.OAuthService.GitHub
	settings["disableUserSignUp"] = !setting.AllowUserSignUp

	if !tryLoginUsingRememberCookie(c) {
		c.HTML(200, VIEW_INDEX)
		return
	}

	if redirectTo, _ := url.QueryUnescape(c.GetCookie("redirect_to")); len(redirectTo) > 0 {
		c.SetCookie("redirect_to", "", -1, setting.AppSubUrl+"/")
		c.Redirect(redirectTo)
		return
	}

	c.Redirect(setting.AppSubUrl + "/")
}
開發者ID:Cepave,項目名稱:grafana,代碼行數:33,代碼來源:login.go

示例4: GetLoginUrl

/**
 * @function name:   func GetHomepageUrl(w http.ResponseWriter, c *middleware.Context)
 * @description:     This function returns URL of login page.
 * @related issues:  OWL-201
 * @param:           w http.ResponseWriter
 * @param:           c *middleware.Context
 * @return:          void
 * @author:          Don Hsieh
 * @since:           12/10/2015
 * @last modified:   12/10/2015
 * @called by:       func Register(r *macaron.Macaron)
 *                    in grafana/pkg/api/api.go
 */
func GetLoginUrl(w http.ResponseWriter, c *middleware.Context) {
	url := ""
	sig := c.GetCookie("sig")
	if len(sig) == 0 {
		url = setting.ConfigOpenFalcon.Login
	}
	RenderJson(w, url)
}
開發者ID:donh,項目名稱:grafana,代碼行數:21,代碼來源:api.go


注:本文中的github.com/Cepave/grafana/pkg/middleware.Context.GetCookie方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。