Мне нужен совет, в основном у меня есть приложение, в котором пользователи могут регистрироваться как обычные клиенты, а внутри панели инструментов есть возможность зарегистрироваться в качестве автора для получения списка категорий.Заказчиком может быть много авторов.
Таким образом, в основном после регистрации / подписки в качестве автора на пользовательской панели инструментов появляется окно созданных им авторов, а после щелчка он переходит на определенную панель инструментов с другим меню.и т. д.
Моя единственная проблема - когда я начинаю создавать разрешения, например, я создал промежуточное программное обеспечение с именем «author», поэтому, когда кто-то пытается получить доступ к этим страницам, он должен быть автором..
Код промежуточного программного обеспечения:
public function handle($request, Closure $next)
{
if(isset($request->id) && auth()->check() && count(auth()->user()->authorsProfile) > 0){
return $next($request);
}
return redirect('/dashboard')->with("error","Only Authors Allowed");
}
пример:
Route::group(['middleware' => ['auth','author']], function() {
//Dashboard
Route::get('authorsarea/{id}','AuthorController@dashboard')->name('author-dashboard');
});
Итак, вторая проверка, которую мне нужно сделать, находится внутри контроллеров, мне нужно проверить на основеИдентификатор, если этот идентификатор автора принадлежит клиенту / пользователю.
пример:
public function dashboard($id)
{
$user = Auth::user();
$user_author = Author::find($id);
if($user_author->user_id != Auth::user()->id){
return back()->with("error","This Author is not you");
}
//Go to dashboard
return view('frontend.author.dashboard');
}
Я чувствую, что вставка этого кода всегда и проверка, принадлежит ли этот автор пользователю, не кажется достаточно чистымЕсть ли лучший способ, чем всегда вставлять этот код в каждый контроллер страницы, где я пытаюсь получить доступ к приватной области для авторов?
Или даже если вы, ребята, чувствуете, что естьсовершенно другой способ сделать все это я открыт для этого.