<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # session插件 由 session_start 在 swoole下無法使用,該插件則提供了與php-fpm下一樣功能的session。 ## 插件安裝 ESD默認已經啟用了session插件,無需安裝。 ## Session初始化 ### 方法1 在繼承 goController 的對象內直接使用 $this->session 獲取session對象。 ### 方法2 在其他對象內添加 `trait` ~~~ use GetSession; ~~~ 然后直接使用 $this->getSession() 獲取session 對象。 ### 方法3 對類中的屬性添加注解,進行對象注入。 ~~~ use DI\Annotation\Inject; use ESD\Plugins\Session\GetSession; /** * @Inject() * @var HttpSession */ protected $session; ~~~ ## session方法 在下面的例子中,將以方法1作為演示。 >[danger]創建 session,類似session_start,但是注意,每調用一次均會創建一次 session_id ~~~ $this->session->create(); ~~~ ## 查看 session _id ~~~ $this->session->getId(); ~~~ ## session 是否存在且未過期 ~~~ $this->session->isAvailable(); ~~~ ## session 是否存在 ~~~ $this->session->isExist(); ~~~ ## session 是否新創建 ~~~ $this->session->isNew(); ~~~ ## 設置 session key value ~~~ $this->session->setAttribute(); ~~~ ## 移除 session key value ~~~ $this->session->removeAttribute(); ~~~ ## 獲取 session ~~~ $this->session->getAttribute(); ~~~ ## 刷新 session >[info]當使用 token 方式時,可能需要在 token 過期前進行續期,該方法會重新生成新的 session_id ,如果使用cookie 會生成新的cookie,如果使用token 會在header中返回新的session_id ,客戶端收到后應立即保存,因為舊的已經失效。 ~~~ $this->session->refresh(); ~~~ ## 消除 session ~~~ $this->session->destroy(); ~~~ ## 使用案例 ~~~ public function login() { $principal = new Principal(); $principal->addRole("user"); $principal->setUsername("user"); $this->setPrincipal($principal); if ($this->session->isAvailable()) { return "已登錄" . $this->session->getId() . $this->session->getAttribute("test"); } else { $this->session->create(); $this->session->setAttribute("test", "hello"); return "登錄" . $this->session->getId() . $this->session->getAttribute("test"); } } public function logout() { $this->session->destroy(); return "注銷"; } ~~~ ## session 配置項 無需配置即可直接使用,如果需要覆蓋默認配置,需要將被覆蓋的部分參數增加到 `application.yml`文件中。下面依次說明相關配置, >[info]以下是session插件全部配置及默認值,如不修改默認值,可不必添加參數。 ~~~ session: timeout: 1800 (session過期時間,默認為30分鐘) db: default (session使用的redis標識) session_storage_class: ESD\Plugins\Session\RedisSessionStorage::class (session驅動) session_name: "session" (session cookie 名稱) session_usage: 'cookie' (session 維持方式 支持cookie,支持 token) domain: '' (cookie domain) path = '/'(cookie path) http_only: true (cookie 是否僅 httponly) secure: false (cookie 是否僅 ssl) ~~~ ## 覆蓋默認配置 在 application.yml 增加配置信息,配置類中的駝峰參數,在配置文件中需要改為下劃線和小寫。配置中僅需要配置需要覆蓋默認配置的選項即可。 ~~~ session: session_name: "mysession" ~~~ 配置說明 ## session_usage >[info] 默認使用cookie方式維持session_id 可選 token 方式,token 方式會在http header 中傳遞 Authorization 參數,由客戶端保存 token 維持回話,適用于無狀態的API請求。 ## session_storage_class >[info]默認使用 redis 作為 session 驅動,如果使用其他則需要實現 SessionStorage 接口內全部方法。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看