2012-05-27 6 views
5

इसलिए मैं वाईआई फ्रेमवर्क सीख रहा हूं, और जब आप पहली बार एससीलेटन एप्लिकेशन बनाते हैं तो व्यवस्थापक/डेमो खातों में निर्मित चीज होती है। मैं अपने वेबसर्वर को अपलोड के बाद भी उन्हें हटाना चाहता हूं, फिर भी मैं उनके साथ लॉग इन कर सकता हूं। तो मैं इसे कहां हटा सकता हूं?वाईआई ढांचा: डेमो/व्यवस्थापक खातों को हटाएं

उत्तर

12

में फ़ोल्डर संरक्षित/घटकों/ आप एक फ़ाइल UserIdentity.php है कि जहां इन डिफ़ॉल्ट लॉगिन दिखाई देते हैं, आप बदल सकते हैं होगा/उन्हें हटा दें।

आप कुछ इस तरह, अपने उपयोगकर्ताओं को तालिका के खिलाफ प्रमाणित करने के लिए अपने डाटाबेस का उपयोग कर सकते हैं:

class UserIdentity extends CUserIdentity 
{ 
private $_id; 
public function authenticate() 
{ 
    $record=User::model()->findByAttributes(array('username'=>$this->username)); 
    if($record===null) 
     $this->errorCode=self::ERROR_USERNAME_INVALID; 
    else if($record->password!==md5($this->password)) 
     $this->errorCode=self::ERROR_PASSWORD_INVALID; 
    else 
    { 
     $this->_id=$record->id; 
     $this->setState('title', $record->title); 
     $this->errorCode=self::ERROR_NONE; 
    } 
    return !$this->errorCode; 
} 

public function getId() 
{ 
    return $this->_id; 
} 
} 

चेक this article in the guide

6

संरक्षित/घटकों के तहत आपको UserIdentity.php मिलेगा, उपयोगकर्ता और उनके पासवर्ड एक सरणी का उपयोग करके प्रमाणीकृत फ़ंक्शन में घोषित किए जाएंगे।

public function authenticate() 
{ 
    $users=array(
     // username => password 
     'demo'=>'demo', 
     'admin'=>'admin', 
    ); 

कैसे Yii में प्रमाणीकरण का उपयोग करने के बारे में अधिक विशिष्ट जानकारी आधिकारिक Yii प्रलेखन

की authentication and authorisation उपधारा में पाया जा सकता