溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Codeigniter中使用Tank Auth權限類庫

發布時間:2021-03-05 15:14:55 來源:億速云 閱讀:174 作者:Leah 欄目:開發技術

如何在Codeigniter中使用Tank Auth權限類庫?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

安裝Tankauth的步驟

將application下相應的文件復制到你的CIapplication文件夾下。

將captcha文件夾復制到你的CI文件夾(項目目錄,和application同一個目錄)下.并確保該目錄在web服務器下可寫。
在你的MySQL數據庫里安裝數據庫(schema.sql文件)結構。
在你的CI項目下打開application/config/config.php文件,并且把$config['sess_use_database']的值改為TRUE.
安裝完成!

如果訪問出現如下錯誤:

AnErrorWasEncountered
InordertousetheSessionclassyouarerequiredtosetanencryptionkeyinyourconfigfile.

這個錯誤提示需要一個密鑰。那么打開config.php,在$config['encryption_key']后面,隨便加一個密鑰即可。

TankAuth官網地址:http://www.konyukhov.com/soft/tank_auth/

如果出現了錯誤,不要忘記看配置文件(tank_auth.php和email.php),安裝完成后類庫應該可以完美工作了,但是根據你的服務器的條件和你的需要,最好有選擇性的修改一下。

提示:默認情況下,類庫產生強大的系統特定的密碼哈系值是不可移植的,這就是說一旦創建,用戶數據庫就不能導出并導入到其他數據庫中,這個特性也可以通過配置文件修改。

Tankauth類庫的簡單說明

類庫運用了MVC模型,這也就是說所有的數據庫相關的方法都封裝在了模型(model)文件中,并且類庫本身作也為了這些方法的接口??刂破?auth)處相關請求,并調用類庫中的方法,渲染相應的視圖(view)(顯示在瀏覽器中或以email方式發送)??刂破靼缦碌姆椒ǎ?/p>

login:用戶登錄網站。如果登錄成功,并且用戶賬戶是激活的,用戶將被重定向到首頁。如果未被激活,send_again將被調用(看下面)。如果登錄失敗,用戶將繼續留在相同頁面(登錄頁面);
logout:注銷用戶。
register:注冊用戶到網站。如果注冊成功,將創建一個用戶賬戶。如果在配置文件中的email_activation項的值被設置為TRUE,則用戶需要通過點擊發送到email中的特殊連接激活賬戶;否則默認激活。請注意:注冊完后用戶并沒有通過登錄驗證,仍然需要登錄。
send_again:再次發送激活email到相同或者新的email地址。當為激活用戶登錄是,每次調用這個方法。當用戶由于信箱的問題或者錯誤的emial地址未收到信件時,這個功能是非常有用的。用戶可以改變他們的email或者保持不變。
activate:激活用戶賬戶。通常這個方法是通過點擊email中的鏈接調用激活的??梢酝ㄟ^點擊”forgotpassword”,輸入email來激活賬戶。用戶是通過在URL中的用戶的Id和驗證碼來認證的。
forgot_password:生成特殊的重置碼(為了修改密碼)并發送給用戶。很顯然用戶在忘記密碼的時候才會用到該方法。
reset_password:用一個新的(用戶設置的)密碼替換舊的(忘記的)密碼。這個方法可以通過點擊郵件中的連接調用。用戶是通過在URL中的用戶的Id和驗證碼來認證的。
change_password:“正常的”密碼修改(相比于重置密碼)。只能在用戶登錄并且激活的時候才可調用。為了保證安全,仍然需要驗證用戶秘密。
change_email:修改用戶的email。只能在用戶登錄并且激活的時候才可調用。為了保證安全,仍然需要驗證用戶秘密。這個新的email只有通過點擊發到這個email中的鏈接才能被激活。
reset_email:激活新email地址并用一個新的email地址替換??梢酝c擊郵件中的鏈接調用該方法。用戶是通過在URL中的用戶的Id和驗證碼來認證的。
unregister:刪除用戶賬戶。只能在用戶登錄并且激活的時候才可調用。為了保證安全,仍然需要驗證用戶秘密。

既然auth控制器管理用戶的所以方法(包括登錄和注銷),所以你未必一定要直接調用類庫中的方法。但是下面這些是一定要調用的:

is_logged_in:檢測用戶是否登錄網站。
get_user_id:如果用戶登錄,獲得用戶Id,否則返回FALSE。
get_username:獲得驗證用戶的用戶名,否則返回FALSE。如果該用戶名沒有注冊,調用這個方法是無意義的(這時候任何用戶都將返回一個空的字符串)。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女