我一直在尝试在登录后重定向用户,有两个链接应该在满足某个条件时重定向到。
protected function redirectTo(){
$userRole = User::findOrFail(Auth::id());
// dd($userRole->roles);
if($userRole->roles == 'admin'){
return 'admin/controlpanel';
}
elseif ($userRole->roles == 'participant') {
return 'student/profile';
}
}
我创建了此功能以重定向但它仍然重定向到'/ home'。然后我在这里和git上读到我还要修改中间件中的RedirectIfAuthenticated模型,我做了这个
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
use App\User;
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return self::redirectTo();
}
return $next($request);
}
protected function redirectTo(){
$userRole = User::findOrFail(Auth::id());
if($userRole->roles == 'admin'){
return 'admin/controlpanel';
}
if ($userRole->roles == 'participant') {
return 'student/profile';
}
}
}
但在我之前的问题中仍然一直给我这个错误 here
我恢复了之前的git提交,然后逐步编码直到我发现它来自我修改过的中间件......
答案 0 :(得分:1)
使用redirect
这样的帮助:return redirect('admin/controlpanel');