Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inny][Laravel5.0] Zizaco/Entrust - Zastosowanie w praktyce
mariio81
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 10.03.2011

Ostrzeżenie: (0%)
-----


Witam,
dokładam do pisanej aplikacji zarządzanie użytkownikami (Zizaco/Entrust) i zrobiłem wszystko według instrukcji na githubie. Dodaje role, uprawnienia, przypisuje użytkownikom role tylko problem jest z zastosowaniem tego w panelu do blokowania dostępu. I tutaj mam kilka pytań bo dodaję kontrolę na poziomie routingu według instrukcji:
  1. Route::filter('superadmin', function()
  2. {
  3.  
  4. if (!Entrust::hasRole('superadmin')) {
  5. App::abort(403);
  6. }
  7. });
  8.  
  9.  
  10. Route::when('admin*', 'superadmin);

(Tak znalazłem na jednym blogu odnośnie tego dodatku)
i nic nie blokuje Uzytkownik admin ma rolę superadmin a drugi nie mając żadnej roli i tak ma dostęp do wszystkiego. Próbowałem też w kontrolerze sprawdzać rolę aktualnie zalogowanego ale też wszyscy mają dostęp. Coś chyba źlę robię i zastanawiam sięgdzielepiej zrobić kontrolę na poziomie routingu czy w kontrolerze wogóle jak to poprawnie użyć?

Ten post edytował mariio81 21.09.2015, 11:29:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Ja stosowałem Middleware dla admina:
  1. <?php namespace Mylead\Http\Middleware;
  2.  
  3. use Carbon\Carbon;
  4. use Closure;
  5. use Illuminate\Contracts\Auth\Guard;
  6.  
  7. class AuthAdmin
  8. {
  9. /**
  10.   * Handle an incoming request.
  11.   *
  12.   * @param \Illuminate\Http\Request $request
  13.   * @param \Closure $next
  14.   *
  15.   * @return mixed
  16.   */
  17. public function handle($request, Closure $next)
  18. {
  19. if (auth()->check() && auth()->user()->hasRole('admin')) {
  20. return $next($request);
  21. }
  22.  
  23. if ($request->ajax()) {
  24. return response('Unauthorized.', 401);
  25. }
  26.  
  27. return redirect()->guest('auth/login');
  28. }
  29. }

Jest to jedno z wielu rozwiązań.

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 19:10