Я использую Laravel 5.4. Я создал системную защиту с использованием laravel, я также создал регистрационную форму на основе ролей.
На данный момент все работает, но, например, я хочу тольконекоторые страницы будут доступны только для администратора, поэтому я создал страницу нового пользователя, чтобы администратор мог создавать пользователей.
Мой RegisteruserControoller:
namespace App\Http\Controllers;
use App\Proveedor;
use App\RubroProveedor;
use Illuminate\Http\Request;
use App\Http\Requests\StoreProveedor;
use App\Http\Requests\UpdateProveedor;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Redirect;
use Alert;
use Exception;
use Auth;
class RegisteruserController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct() {
$this->middleware('role:admin');
}
public function index(Request $request)
{
return view('usuarios.registeruser');
}
Моя проблема в том, что если я используюПромежуточное программное обеспечение в конструкции. Меня всегда просят войти снова и снова, и мне нужно отключить это, но сохраняйте охрану, чтобы разрешить только пользователям с правами администратора создавать новых пользователей.
Я не уверен, что я чист, извините, мой плохой английский.
Я создал Middleware под названием CheckRole:
<?php
namespace App\Http\Middleware;
use Closure;
class CheckRole
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next, $role)
{
if (! $request->user()->hasRole($role)) {
abort(401, 'This action is unauthorized.');
}
return $next($request);
}
}