我想在同一个浏览器上一次创建多个登录,例如admin和user。
为此我们使用不同的模型,如LoginForm.php和Adminlogin.php以及不同的身份类,即User.php和Admin.php。但是当我们使用admin登录时,我们当时想要登录,因为用户管理员会退出并且用户会登录。
但我想同时登录管理员和用户。怎么做?
答案 0 :(得分:0)
这种情况正在发生,因为当用户通过任何角色(例如管理员)登录时,比内部更喜欢
$_SESSION['logged_in'] = true;
$_SESSION['user_id'] = logged in user id;
当您使用diff用户再次登录时,新登录用户将覆盖$_SESSION['user_id']
中的值。
因此,采用这种方法,你无法实现这一目标。
实现此目标的最佳方法是在登录后提供角色更改功能。
答案 1 :(得分:0)
你可以添加一个前缀, 喜欢
SESSION['ADMIN_user_name']
是管理员用户, 其他是普通用户。
答案 2 :(得分:0)
我的建议是使用Yii 2 Advanced Application Template。这样你就可以拥有一个前端和一个后端,每个前端和后端都有自己的user
组件用于登录和它自己的会话。
通过这种方式,您还可以分离普通用户或管理员用户独有的视图和控制器,同时还可以通过两种类型用户使用的common
模型和模块进行共享。