如何在管理员登录后重定向引用



我必须将管理员重定向到/admin/reference,而不是/admin/index。

我已经更改了登录控制器protected $redirectTo = '/admin/reference';.t与RegisterController相同,与VerificationControllerRedirectIfAuthenticated相同,但仍然没有重定向。

登录控制器:

protected $redirectTo = '/admin/reference';

/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
}

RegisterController:protected$redirectTo='/admin/reference';

/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}

验证控制器:

protected $redirectTo = '/admin/reference';

AdminController:

public function index()
{
return view('admin.index');
}   

身份验证中间件:

protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}

重定向身份验证:

public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/admin/reference');
}
return $next($request);
}

index.blade.php:这就是目前显示的内容

@extends('admin.layouts.app')
@section('content')
Willkommen!
@endsection

admin.reference.index:这就是我希望它显示的内容

@extends('admin.layouts.app')
@section('title', '| Übersicht Referenzen')
@section('content')
<div class="row justify-content-center">
<div class="col-12">
<div class="panel panel-default">
<div class="panel-heading"><h3>Referenzen</h3></div>
<div class="panel-heading">Seite {{ $references->currentPage() }} von {{ $references->lastPage() }}</div>
<table class="table table-bordered table-striped">
<tr>
<th>Name</th>
<th>Bilder</th>
<th>Priorität</th>
<th>Aktionen</th>
</tr>
@foreach ($references as $reference)
<tr>
<td width="65%">
<a href="{{ route('admin.reference.edit',     $reference->id ) }}"><b>{{ $reference->title }}</b>
</a><br>
</td>
<td>
@if(!count($reference->images))<span     style="color:#ff0000;font-weight:700;">0</span>@else{{ count($reference->images) }}@endif
</td>
<td>
{{ $reference->priority }}
</td>
<td>
<a href="{{ route('admin.reference.edit', $reference->id) }}" class="btn btn-info pull-left"
style="margin-right: 3px; display: inline-block;">Edit</a>
<div style="display: inline-block;">
{!! Form::open(['method' => 'DELETE',     'route' => ['admin.reference.destroy', $reference->id], 'data-item-id' => $reference->id ]) !!}
{!! Form::submit('Löschen', ['class' =>  'btn    btn-danger delete-submit','data-item-id' => $reference->id]) !!}
{!! Form::close() !!}
</div>
</td>
</tr>
@endforeach
</table>
</div>
<div class="text-center">
{!! $references->links() !!}
</div>
</div>
</div>
@endsection  

我希望登录后重定向到/admin/reference,而不是/admin/index。

我正在开发laravel 5.5,但我认为这会对您有所帮助。尝试将其添加到您的登录控制器

protected function authenticated(Request $request, $user)
{
if ( $user->isAdmin() ) {// check role
return redirect('/admin/reference');;
}
return redirect('/anywhere');
}
protected function authenticated()
{
if ( Auth::user() ) {
return redirect('/admin/reference');
}
return redirect('/');
}

在我的LoginController中添加了一个受保护的函数,它就工作了。

最新更新