2017-01-05 51 views
-1

我想在同一瀏覽器上創建多個登錄,例如管理員和用戶。在同一瀏覽器中同時創建多個登錄

爲此,我們使用了不同的模型,如LoginForm.php和Adminlogin.php以及不同的標識類,即User.php和Admin.php。但是,當我們用admin登錄並且當時我們想要以用戶admin登錄並且用戶登錄時登錄。

但我想同時登錄管理員和用戶。怎麼做?

+0

將它們存儲在不同的會話中,如$ _SESSION ['admin'],$ _SESSION ['user']。 –

+0

添加兩個'用戶'類型組件 - 比如普通用戶的'user'和管理員的'admin'。 – Bizley

+0

在數據庫中加入了** Rank **。然後把1用於普通用戶,2用於管理員。然後登錄時:檢查數字是1還是2,並用它做東西。 – Mitch

回答

0

發生這種情況是因爲,當用戶通過任何角色登錄講管理,比國內像

$_SESSION['logged_in'] = true; 
$_SESSION['user_id'] = logged in user id; 

當你與一個diff用戶再次登錄,然後在$_SESSION['user_id']值是由新覆蓋登錄用戶。

所以用這種方法你不能做到這一點。

實現這一目標的最佳途徑是提供登錄後的角色改變功能。

0

您可以添加一個前綴, 像

SESSION['ADMIN_user_name'] 

是一個管理員用戶, 另一種是普通用戶。

+0

這種方式不好! –

0

我的建議是使用Yii 2 Advanced Application Template。這樣你可以有一個前端和一個後端,每個都有自己的user組件用於登錄和它自己的會話。

通過這種方式,您還可以分離視圖和控制器,這些視圖和控制器需要爲普通用戶或管理員用戶獨佔,同時還可以通過common這兩種類型的用戶使用的模型和模塊進行共享。

+0

是的,你在yii2 advance中是正確的,我們爲後臺和前臺創建了不同的會話,但是我已經在我的項目中使用了yii2 basic –

相關問題