2016-07-30 14 views
0

wir eine Anwendung entwickeln mit Laravel Rahmen wird angenommen, eine RESTful Anwendung sein, die über die resources von Laravel Rahmen durchgeführt wird, da das folgende Beispiel:Multi Auth in Laravel zu verwenden oder nicht verwenden

class CategoryController extends Controller 
{ 

public function __construct() { 

} 


public function index() 
{   
    return response()->json($this->getAll());  
} 


public function create() 
{ 
    // 
} 


public function store(Request $request) 
{ 
    // 
} 

Nehmen wir das folgende Beispiel: Einige Methoden wie store und create sind nur vom Administrator der Website erlaubt, aber index Methode ist von allen Benutzern erlaubt und es gibt so viele Fälle wie dieses Beispiel-andere Art von Benutzern können nur zugreifen einige Methoden eines Kontrollers.

In diesem Fall können wir entweder profitieren von Multi Auth von Laravel und erstellen Sie unterschiedliche Tabellen für die Speicherung der Benutzer oder andere Art für die Benutzer in der gleichen Tabelle definieren und den Zugriff der Benutzer Griff mit middleware dass auf einige spezielle Funktionen anwenden

Frage: , welchen Weg empfehlen Sie und bitte so

Antwort

0

auch die Gründe für Ihren Vorschlag zu liefern, ist die Antwort auf verschiedene Parameter abhängt. Das Ziel, das Sie erreichen möchten, kann mit Laravel Multi-Auth oder einem RBAC (Role Based Access Control) -System erreicht werden.

Situationen, in denen Sie RBAC verwenden sollten: Wenn Ihre Anwendung klein ist, sollten Sie für jede rollenbasierte Sache gehen.
Zum Beispiel .. Angenommen, Sie arbeiten an einem CMS, dann erstellen Sie keine Tabellen für jede Position (Manager, Entwickler, Marketing Head etc ..) Daher ist die RBAC eine gute Option für Sie.

Situationen, in denen Sie Multi-Auth verwenden sollten: Wenn Ihr Ziel groß ist und Sie wollen user login Tisch und Admin-Login Tabelle aus irgendeinem Grund trennen Sie es gehen kann.

Was ich vorschlagen

Was ich vorschlagen, für beide, Multi-Auth sowie RBAC gehen (nur, wenn Sie gerade arbeiten oder in sehr großem Maßstab Anwendung zu bauen versuchen)

Aber Wie Sie beschrieben haben, würde ich Ihnen empfehlen, RBAC nicht multi auth zu verwenden.

Einige nützliche Links

Laravel Docs
RBAC (Einer der beliebtesten RBAC-Paket für Laravel)
Wenn Sie Multi Auth gehen fühlen mögen bitte dieses Blog-Post Multi-Auth with Laravel 5.2

folgen Wenn ich etwas fehlt oder die Antwort kann irgendwie verbessert werden, fühlen Sie sich frei zu kommentieren.