2017-01-07 4 views
1

Я разрабатываю приложение в Laravel 5.3, где несколько пользователей могут входить в систему и создавать новых пользователей, но ограничить их. Приложение также будет иметь главного администратора, который будет контролировать общее приложение. Пример:Как разрешить пользователю создавать новых пользователей и разрешать вход в Laravel?

  1. Администратор
  2. Пользователь

    2,1 Ребенок пользователя 1

    2,2 Ребенок пользователя 2

ответ

1

Для создания роли и разрешения. Вы должны относиться к Entrust, который является хорошо известный пакет, который я нахожу подходящий для этой задачи

1

вы можете сделать это как супер администратор может создать пользователя, если он хочет, как

public function postCompanyRegistrationByAdmin (Request $request) 
{ 
    $this->validate($request, [ 
     'name' => 'required', 
     'email' => 'required|unique:users', 
     'password' => 'required', 
     'company_name' => 'required', 
     'company_phone_no' => 'required', 
     'company_address' => 'required', 
     'company_city' => 'required', 
     'country' => 'required', 
    ]); 
    $company = new Company; 
    $company->id = $user->id; 
    $company->name = $request->get("company_name"); 
    $company->phone_no = $request->get("company_phone_no"); 
    $company->address =$request->get("company_address"); 
    $company->city = $request->get("company_city"); 
    $company->company_logo = $request->get("company_logo"); 
    $company->country = $request->get("country"); 
    $company->save(); 
    $message = 'Company successfully Registered.'; 
    return redirect()->route('Companies')->with(['message' => $message]); 
} 

его маршрут будет в середине, где администратор как

Route::group(array('namespace' => 'ShoesPlanner', 'middleware' => 'Admin'), function() { 
    Route::post('companyRegistrationByAdmin', array('as' => 'companyRegistrationByAdmin', 'uses' => '[email protected]')); 

});

Middleware понравится

public function handle($request, Closure $next) 
{ 
    if (!Auth::guest() && Auth::user()->user_type == 'Admin') { 

     return $next ($request); 


    } 
      return redirect()->route('login'); 

} 
+0

Я определил охрану, чтобы разрешить вход для дочерних пользователей .. но не похоже, работает охранник .. не могли бы вы проверить этот предыдущий вопрос что я спросил раньше. (http://stackoverflow.com/questions/41279712/laravel-5-3-admin-guard-not-working) –

+0

Вы можете использовать мой подход для своей работы. Я не понимаю ваш предыдущий вопрос. Вы можете сделать логин разных пользователей, указав флаг –

Смежные вопросы