2015-03-06 10 views
6

मैं लैरवेल 5 की खोज शुरू कर रहा हूं, इसलिए मुझे कुछ चीजों को समझने में आपकी मदद की आवश्यकता हो सकती है।लार्वा कस्टम प्रमाणीकरण

सबसे पहले, मैं एक लॉगिन पृष्ठ विकसित करना चाहता हूं। ऐसा लगता है कि लैरवेल की पूरी प्रमाणीकरण प्रणाली है, और मुझे लगता है कि मुझे इसका इस्तेमाल करना चाहिए।

फिर भी, मैं एक लॉगिन पेज प्रदर्शित करना चाहता हूं (मुझे पता है कि यह कैसे करें!), लेकिन इसके बाद, मैं एक एपीआई कॉल के माध्यम से एक सर्वर को प्रमाण पत्र भेजना चाहता हूं। सर्वर तब मुझे बताएगा कि उपयोगकर्ता को लॉग इन करने की अनुमति है या नहीं।

जहां तक ​​मैं लैरवेल और प्रमाणीकरण को समझता हूं, ऐसा लगता है कि प्रमाणीकरण प्रणाली केवल स्थानीय डीबी के साथ काम करती है।

क्या आप पुष्टि कर सकते हैं कि मुझे ऐसा करने के लिए कस्टम प्रमाणीकरण ड्राइवर का उपयोग करने की आवश्यकता है? मैं this solution निम्नलिखित किया गया है, लेकिन जब मेरा पेज लोड हो रहा है मैं इस त्रुटि मिलती है:

FatalErrorException in CustomUserProvider.php line 6: 
Interface 'Illuminate\Auth\UserProviderInterface' not found 

किसी भी मदद की सराहना की जाएगी, मुझे और अधिक जानकारी मांगने के लिए यदि आप इसे जरूरत के लिए स्वतंत्र महसूस।

<?php namespace App\Auth; 

use Illuminate\Contracts\Auth\UserProvider as UserProviderInterface; 
use Illuminate\Contracts\Auth\Authenticatable; 
use Illuminate\Auth\GenericUser; 

class CustomUserProvider implements UserProviderInterface { 

अब यह काम कर रहा है :-)

+0

आपको कस्टम प्रमाणीकरण ड्राइवर का उपयोग करने की आवश्यकता है। मुझे लगता है कि लैरावेल 5 के वर्तमान संस्करण में इंटरफ़ेस 'रोशनी \ अनुबंध \ Auth \ UserProvider' है। – kylehyde215

उत्तर

6

मैंने कोशिश की एक ही धागे आपका उल्लेख किया और बहुत ही परिणाम पर पहुंचे निम्नलिखित:

धन्यवाद

2

यहाँ मेरी CustomUserProvider फ़ाइल है। तब मैं देशी UserProviders (रोशन/प्रमाणीकरण/EloquentUserProvider और रोशन/प्रमाणीकरण/DatabaseUserProvider) के कार्यान्वयन की जाँच की और एक ही सेट का उपयोग कर समाप्त हो गया के रूप में EloquentUserProvider में:

<?php namespace App\Auth; 

use Illuminate\Contracts\Auth\UserProvider; 
use Illuminate\Contracts\Hashing\Hasher as HasherContract; 
use Illuminate\Contracts\Auth\Authenticatable as UserContract; 

class MyUserProvider implements UserProvider { 
    // Implementation goes here 
} 

मेरा मानना ​​है कि इस सुझाव के रूप में अधिक सही दृष्टिकोण होना करने के लिए फोरम थ्रेड से एल 5 के पुराने/बीटा संस्करण के लिए संभवतः प्रतीत होता है।

संबंधित मुद्दे