laravel - लार्थन एपीआई में प्राधिकृत और उपयोगकर्ता प्रबंधन



rest authentication (1)

मैं मोबाइल एप्लिकेशन के लिए एक आराम एपीआई लिख रहा हूं मुझे नहीं पता कि मेरे ऐप में एथ यूजर और एडमिन कैसे हैं I मेरे पास " उपयोगकर्ता " नामक एक मेज है और " isAdmin " नामक फ़ील्ड है जो कि 0 या 1 है अब जब व्यवस्थापक पद भेजता है, तो उपयोगकर्ता पोस्ट देख सकते हैं। आप इन दोनों के लिए ऑथेट की सिफारिश करते हैं? धन्यवाद


मैं आपको लार्वेल पर प्रमाणीकरण के बारे में दस्तावेज़ीकरण पढ़ाने की सलाह देता हूं: https://laravel.com/docs/5.5/ प्रमाणीकरण

आपके पास क्या सेटअप है निम्नलिखित है:

  • मिडलवेयर (उपयोगकर्ता कौन से मार्गों का उपयोग कर सकते हैं और किन मार्ग व्यवस्थापक का उपयोग कर सकते हैं)
  • यह निर्धारित करने के लिए कि क्या कोई उपयोगकर्ता उपयोगकर्ता या व्यवस्थापक है, अपने एडिमिन () फ़ंक्शन के साथ अपने मॉडल को संपादित करें

एक AdminMiddleware फ़ाइल का उदाहरण - कमांड लाइन द्वारा बनाओ: php कारीगर बनाओ: मिडलवेयर व्यवस्थापक मैडमवेयर

<?php

namespace App\Http\Middleware;

use Closure;
use Auth;

class AdminMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if(Auth::check() && Auth::user()->isAdmin()){
            return $next($request);
        }
        else{
            return view('your_view')->withErrors('You are not logged in');
        }
    }
}

उपयोगकर्ता मॉडल का उदाहरण हैअडमिन फ़ंक्शन - कमांड लाइन द्वारा बनाओ: php कारीगर बनाओ: मॉडल उपयोगकर्ता

public function isAdmin(){
    if($this->isAdmin == 1){
        return true;
    } else {
        return false;
    }
}

आपके मार्ग फ़ाइल का उदाहरण

// @TODO: Set routes for user and admin here...

Route::group(['middleware' => ['admin']], function () {
    // @TODO: Set admin routes here, only admin can use this routes.
});

आपको अपने kernel.php को थोड़ा सा संपादित करना होगा:

protected $routeMiddleware = [
    // ... add this line
    'admin' => \App\Http\Middleware\AdminMiddleware::class,
];




authorization