usuarios usuario personalizado obtener logueado control como autenticacion and php authentication laravel laravel-5

php - personalizado - Laravel 5 new auth: Obtener usuario actual y cómo implementar roles?



login personalizado laravel (2)

Actualmente estoy experimentando con el nuevo Laravel 5 y obtuve la autenticación para trabajar (registrar / iniciar sesión).

Para obtener el usuario autenticado en mi controlador, actualmente inyecté Guard en la acción del controlador:

use App/Http/Controllers/Controller; use Illuminate/Contracts/Auth/Guard; class ClientController extends Controller { /** * Display a listing of the resource. * * @return Response */ public function index(Guard $auth) { return view(''client.index'', [''user'' => $auth->user()]); } ...

Primera pregunta: ¿Es esta la manera recomendada?

Segunda pregunta: ¿Cómo implementaría algún tipo de roles / permisos? Algo como client.edit , client.add , ... ¿Larval 5 ofrece algún tipo de conveniencia aquí? ¿Cómo establecería el rol / permiso necesario para una acción de ruta / controlador?

Estoy pensando que podría necesitar escribir mi propio middleware para eso. ¿Alguna sugerencia sobre cómo abordar el problema?


Después de pasar más tiempo en Laravel 5, puedo responder mi propia pregunta:

¿Está inyectando Guard la manera recomendada? No: si necesita acceder a Auth en su vista, puede hacerlo así:

@if( Auth::check() ) Current user: {{ Auth::user()->name }} @endif

Esto usa la fachada de Auth . Una lista de todas las fachadas disponibles está en config/app.php bajo aliases:

¿Qué Auth si necesito Auth en mi controlador? Inyectar una instancia de Guard como se muestra en la pregunta funciona, pero no es necesario. Puede usar la fachada Auth como lo hicimos en la plantilla:

public function index() { if(/Auth::check() && /Auth::user()->name === ''Don'') { // Do something } return view(''client.index''); }

Tenga en cuenta que el / es necesario antes del nombre de la fachada ya que L5 usa espacios de nombres.

Quiero tener permisos / roles usando el nuevo mecanismo de autenticación en L5: Implementé un módulo de permisos ligero usando el nuevo middleware, se llama Laraguard . Compruébalo en Github y cuéntame lo que piensas: https://github.com/cgrossde/Laraguard

ACTUALIZACIÓN: en aras de la exhaustividad, quiero mencionar dos proyectos más. Proporcionan todo lo que necesita para guardar roles y permisos en el DB y funcionan perfectamente junto con Laraguard o por su cuenta:


Si desea realizar su propia autenticación personalizada, debe conservar el modelo de usuario de Laravel 5 con toda la dependencia. Después de que podrá iniciar sesión con su usuario en su controlador. No olvide poner (use Auth;) después del espacio de nombres de su controlador.