簡體   English   中英

在 YII2 中使用自動注銷,需要在再次登錄后將用戶重定向到用戶在自動注銷之前所在的同一 URL

[英]Using Auto Logout in YII2, Need to redirect user after login again to the same URL where user was before Auto Logout

我的系統使用 YII2。 由於不活動一段時間后系統自動注銷用戶。 截至目前,它在登錄后重定向到主主頁。 但是我需要將用戶重定向到由於不活動而導致系統注銷時他/她所在的同一頁面。

I tried to use YII2 return URL as well as session but session also gets destroyed when system logout the user.

我還需要保留用戶身份,因為它應該僅在自動注銷后同一用戶再次登錄系統時重定向。

我試過 YII2 返回 URL 以及 session。

Yii::$app->user->returnUrl = someurl

以上行保存返回 url 並重定向到設置 URL

$url = Yii::$app->user->returnUrl;
return $this->goBack($url);

將用戶重定向到以前的 URL 但它不起作用。

另外我需要識別用戶,用戶應該是由於不活動而從系統注銷的用戶,否則它會將其他用戶也重定向到之前第一次登錄的 URL。

首先goBack()方法不接受任何參數 它使用先前設置的returnUrl (如您的示例中)。

除此之外,問題在於,當您注銷將刪除與身份驗證相關的 session 數據的用戶時。 如果$destroySession為真,所有 session 數據將被刪除。 logout()方法中的$destroySession默認為true ,所以除了認證相關的session數據外, returnUrl數據也被移除。

嘗試將$destroySession參數設置為 false 的用戶注銷:

Yii::$app->user->logout(false)

嘗試return $this->redirect(Yii::$app()->request->referrer);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM