सबसे पहले, कुछ खाली कस्टम प्रमाणीकृत ऑब्जेक्ट्स जोड़ें। हम उसी तर्क का पुन: उपयोग करेंगे जो FormAuthenticate उपयोग करता है (यानी, उपयोगकर्ता के लिए डेटाबेस की जांच करने के लिए POST डेटा का उपयोग करता है), लेकिन ऑब्जेक्ट सेटिंग्स (बाद में) के भीतर मॉडल को बस बदलें।
एप्लिकेशन/नियंत्रक/घटक/प्रमाणीकरण/ModelOneAuthenticate.php
<?php
App::uses('FormAuthenticate', 'Controller/Component/Auth');
class ModelOneAuthenticate extends FormAuthenticate {
}
एप्लिकेशन/नियंत्रक/घटक/प्रमाणीकरण/ModelTwoAuthenticate.php
<?php
App::uses('FormAuthenticate', 'Controller/Component/Auth');
class ModelTwoAuthenticate extends FormAuthenticate {
}
तब उपयोग करने के लिए अपने अनुप्रयोग बता ये ऑब्जेक्ट प्रमाणीकृत करने के लिए, और बताएं कि किस मॉडल का उपयोग करना है। आप यहां फ़ील्ड को भी कस्टमाइज़ कर सकते हैं। अपने AppController में:
public $components = array(
'Auth' => array(
'authenticate' => array(
'ModelOne' => array(
'userModel' => 'ModelOne',
'fields' => array(
'username' => 'my_custom_username_field',
'password' => 'some_password_field'
)
),
'ModelTwo' => array(
'userModel' => 'ModelTwo'
)
)
)
);
पहले प्रमाणीकरण वस्तु some_password_field
में my_custom_username_field
में एक उपयोगकर्ता नाम और पासवर्ड के लिए model_ones
तालिका की जाँच करेगा, जबकि दूसरा एक model_twos
जाँच मानक username
और password
फ़ील्ड का उपयोग होगा।
मैं क्या जरूरत है की तरह है, लेकिन केक के एक पुराने संस्करण है, शायद के लिए दिखता है कि @deizel यह देखेंगे :) – 472084
'पहचान' को छोड़कर प्रमाणीकरण वस्तुओं को छोड़कर अवधारणा के समान प्रकार को' प्रमाणीकरण 'कहा जाता है (या विशेष रूप से' बेस प्रमाणीकरण 'पर' _findUser' विधि) कहा जाता है। – jeremyharris
तो बस 'पहचान' को 'प्रमाणित' में बदलें? http://codepad.viper-7.com/1BX9fE – 472084