角色用户laravel

时间:2018-01-03 22:24:30

标签: php laravel-5 session-variables

我在我的控制器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.我不在数据库中使用枚举类型来获得此角色但是整数

1 个答案:

答案 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