当前位置: 首页 > 知识库问答 >
问题:

Laravel:以不同的方式重定向不同的用户角色

元嘉木
2023-03-14

是否可以将具有不同用户角色的用户重定向到laravel 5.1中的不同页面?

我研究了Auth中间件和Auth控制器,但没有发现任何处理登录请求本身的东西。

我发现了一些关于登录重定向在这里Laravel重定向回到原来的目的地后登录,但我不知道在哪里把建议的代码片段。

有人能帮我吗

共有1个答案

方子安
2023-03-14

您可以在ReDirectIf身份验证中间件中更新

namespace App\Http\Middleware;

use Closure;
use Illuminate\Contracts\Auth\Guard;

class RedirectIfAuthenticated
{
    /**
     * The Guard implementation.
     *
     * @var Guard
     */
    protected $auth;

    /**
     * Create a new filter instance.
     *
     * @param  Guard  $auth
     * @return void
     */
    public function __construct(Guard $auth)
    {
        $this->auth = $auth;
    }

    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if ($this->auth->check()) {

            $auth = Auth::user()->roles()->first();

            switch ($auth->role) {
                case 'admin':
                        return  redirect()->route('admin');    
                    break;
                case 'superadmin':
                        return  redirect()->route('superadmin'); 
                    break;
                case 'user':
                        return  redirect()->route('user');  
                    break;

                default:
                    # code...
                    return  redirect()->route('user');  
                    break;
            }   

         }

        return $next($request);
    }
}
 类似资料:
  • 所以С能否请您向我解释一下,正确的方法是否是为不同类型的用户提供不同的DBContext。 例如:我们有两种方法的ApicController: 之后,每个命令都依赖于具有不同配置的不同服务/DbContext。例如: 我觉得我错过了什么或者有更好的解决办法

  • 我在Grails应用程序中集成了Spring security核心插件。

  • 在拉雷维尔,我有学生、家长、员工(教师、图书管理员、典狱长)等不同权限的角色。。。根据用户角色,它应该在用户登录时重定向到不同的刀片文件。。我的问题是,如果用户是家长或学生,它将重定向到不同的仪表板,但只要用户是教师或其他人,它就不会登录,但在用户表中,用户已经存在。 下面是我的LoginController代码 登录ontroller.php: 我的角色在角色表中提到,id存储在用户表中 提前感

  • 我有稍微不同的选择查询从同一个表中读取数据。 和正在更改。 在Laravel中,我最终为每种类型使用了1个查询,但是有10种类型,这意味着10 db连接——这不好。 将这些查询合并到一个查询中,以便建立一个数据库连接以获取所有数据的好方法是什么? (我正在寻找Laravel查询生成器实现这一点的方法)

  • PreReq: 用户登录并被赋予使用userService的自定义实现从数据库中获得的角色。即 身份验证提供商用户服务ref=“securityPolicyService” 调用已实现的方法loadUserByUsername,并为用户加载他们登录的特定俱乐部的角色,默认情况下第一次加载。 然后,用户点击与UI不同的俱乐部,我调用服务上的一个方法,该方法获取该俱乐部的新权限列表。 然后我执行以下操

  • 问题内容: 假设我是普通用户还是超级用户,我想显示不同的列。 覆盖在已经完全没有效果 并且定义条件类属性也不起作用(未定义)(根据上的错误)。在等效的中做同样的事情,仍然没有定义 仅供参考,可以是从前面提到的问题继承的任何类。 问题答案: 我通常定义视图类属性,例如属性。它允许你向其中添加一些动态逻辑: 使用这种方法的问题(以及为什么在函数中重新分配值不起作用)是许多视图属性在应用程序启动时被缓存