第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

大猩猩會(huì)話 - 每個(gè)用戶的會(huì)話

大猩猩會(huì)話 - 每個(gè)用戶的會(huì)話

Go
慕運(yùn)維8079593 2022-08-01 10:55:22
使用大猩猩會(huì)話時(shí),我看到的每個(gè)示例都執(zhí)行以下一些變體:    var store = sessions.NewCookieStore([]byte(os.Getenv("SESSION_KEY")))    func MyHandler(w http.ResponseWriter, r *http.Request) {        // Get a session. We're ignoring the error resulted from decoding an        // existing session: Get() always returns a session, even if empty.        session, _ := store.Get(r, "session-name")        // Set some session values.        session.Values["foo"] = "bar"        session.Values[42] = 43        // Save it before we write to the response/return from the handler.        err := session.Save(r, w)        if err != nil {            http.Error(w, err.Error(), http.StatusInternalServerError)            return        }    }我在我的代碼中也這樣做了,它的工作原理。我感到困惑的是.它是一個(gè)硬編碼值,將始終檢索相同的會(huì)話。session, _ := store.Get(r, "session-name")為了驗(yàn)證這一點(diǎn),我有2個(gè)隱身瀏覽器創(chuàng)建一個(gè)會(huì)話,其中用戶的ID作為會(huì)話的值映射中的值。兩個(gè)瀏覽器都返回了創(chuàng)建會(huì)話的最后一個(gè)用戶的值。這對(duì)我來(lái)說(shuō)都是有道理的,因?yàn)槲覀儗?duì)所有內(nèi)容都使用相同的會(huì)話名稱。我的問(wèn)題是以下若要為每個(gè)經(jīng)過(guò)身份驗(yàn)證的用戶獲取會(huì)話,我是否需要自己動(dòng)態(tài)設(shè)置會(huì)話名稱(可能包含來(lái)自經(jīng)過(guò)身份驗(yàn)證的用戶本身的一些信息)?如果是這樣,當(dāng)用戶下次訪問(wèn)站點(diǎn)并且我需要再次從會(huì)話存儲(chǔ)中檢索信息時(shí),我將如何檢索該信息?還是我完全以錯(cuò)誤的方式思考會(huì)議?這是我第一次嘗試用會(huì)話來(lái)創(chuàng)造一些東西,所以我有一種強(qiáng)烈的感覺(jué),我錯(cuò)過(guò)了一些基本概念。
查看完整描述

2 回答

?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

Cookie 用于標(biāo)識(shí)會(huì)話或存儲(chǔ)會(huì)話數(shù)據(jù),具體取決于所使用的會(huì)話存儲(chǔ)。同一瀏覽器實(shí)例中的兩個(gè)隱身窗口共享相同的 Cookie,因此將共享相同的會(huì)話。請(qǐng)嘗試以下操作之一:比較不同瀏覽器實(shí)例中的會(huì)話(有關(guān)如何啟動(dòng)單獨(dú)的實(shí)例,請(qǐng)參閱瀏覽器命令行幫助),比較隱身和非隱身之間的會(huì)話,比較 Edge 和 Chrome 之間的會(huì)話。


查看完整回答
反對(duì) 回復(fù) 2022-08-01
?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊

會(huì)話變量包含多個(gè)數(shù)據(jù),包括會(huì)話開(kāi)始時(shí)間。興趣 確定會(huì)話的結(jié)束時(shí)間。這意味著會(huì)話令牌即使在同一瀏覽器和某些窗口上也有所不同。因?yàn)橥挥脩舨荒芡瑫r(shí)登錄多次。但是,所有瀏覽器仍然都知道這一點(diǎn)。因?yàn)樗鼮橥挥脩魯y帶相同的數(shù)據(jù),例如唯一的名稱或電子郵件。


 sess,_ := session.Get ("session-name", c)用于會(huì)話類型。僅當(dāng)您有多種類型的會(huì)話時(shí),才動(dòng)態(tài)設(shè)置它。


sess.Values ["email"] = email用于查找誰(shuí)與用戶有關(guān)聯(lián)?這些必須動(dòng)態(tài)確定。它使用唯一值(如電子郵件或 Id)進(jìn)行設(shè)置??梢源鎯?chǔ)一系列數(shù)據(jù)來(lái)自定義用戶體驗(yàn)。例如:姓名、顏色、語(yǔ)言。他們建議不要存儲(chǔ)密碼。它加密敏感數(shù)據(jù)。設(shè)置前。


這是一個(gè)簡(jiǎn)單的大猩猩會(huì)話:


func initSession(c echo.Context, name, email string) {

      sess, _ := session.Get("session-name", c) // session_name like: addmin_sess of user_ses or onything.

      sess.Options = &sessions.Options{

          Path:     "/",

          MaxAge:   216000,           // = 1h,

          HttpOnly: true,             // no websocket or any protocol else

      }

  

      sess.Values["email"] = email      // nessessary in this senario

      sess.Save(c.Request(), c.Response())

  }

  

  func login(c echo.Context) error {

      formEmail := c.FormValue("email")

      formPass := c.FormValue("password")

      email, pass := getUsername(formEmail)  // "select email pass from UserTable where email_field == formEmail"

   

       if pass == formPass && email == formEmail {

           initSession(c, email)    // set session of this uniq user in browser. 

           return c.Redirect(http.StatusSeeOther, "/")  // login success.

       }

       return c.Render(200, "login.html", "Username or password is wrong")

   }

用戶在未登錄的情況下無(wú)法訪問(wèn)<配置文件頁(yè)>:


func profilePage(c echo.Context) error {

    sess, _ := session.Get("session_name", c)


    email := sess.Values["email"]  // we get email from browser.

    if email == nil {

        return c.Redirect(http.StatusSeeOther, "/login") // login firs.

    }


    return c.Render(200, "profile.html", email) // just show email

}


查看完整回答
反對(duì) 回復(fù) 2022-08-01
  • 2 回答
  • 0 關(guān)注
  • 95 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)