我在我的控制器LOGIN中使用此代码,它们是我的数据库中的角色类型:$ users-> isAdmin()$ users-> isOwner()$ users-> isMember()
public function dologin(Request $request){
$users = new Users;
$email = $request->input('u_email');
$password = $users->setPasswordAttribute($request->input('pwd1'));
//get user id from email
$user_id = $users->get_user_from_email($email);
foreach($user_id as $u){
$u_type = $u->u_type;
}
// Check validation
if (auth()->attempt(['u_email' => $email, 'password' => $password] )){
if($users->isAdmin() == $u_type){
return redirect('admin');
}
if($users->isOwner() == $u_type){
}
if($users->isMember() == $u_type){
}
}else{
}
}
用户模型中的代码
public function isAdmin(){
return 0 ;
}
public function isOwner(){
return 1 ;
}
public function isMember(){
return 2;
}
我的问题: - 如何在登录仪表板的会话中存储角色? - 如何在控制器中声明这个角色
感谢您的帮助
注意:角色类型是整数0,1和2.我不在数据库中使用枚举类型来获得此角色但是整数
答案 0 :(得分:0)
要在页面中使用会话,请确保在页面开头session_start();
(在任何HTML标记之前)。
之后,当他登录并且所有内容都设置为$_SESSION["u_type"]=$u_type;
时,您可以参考它直到您销毁会话。
要检查仪表板,如果他是管理员,所有者或成员,请检查
//don't forget session_start(); at the begging of your file
if($_SESSION["u_type"]==0)
//admin
else if($_SESSION["u_type"]==1)
//owner
else if($_SESSION["u_type"]==2)
//member