我正在使用PHP編寫Web應用程序。我想爲此使用MVC模式,並決定使用CodeIgniter。我的應用程序將有一些頁面需要驗證,而有些頁面則不會。我想用一種非常通用的方式來設計它,這樣就不會有代碼重複。任何一個人都可以指出一些很好的「設計/階級結構」嗎?使用CodeIgniter進行用戶身份驗證
回答
寫一個自定義庫,你可以自動加載你的代碼點火器應用程序在每個頁面視圖。它應該有以下功能:
- 驗證用戶即。檢查用戶是否登錄
- 登錄ie ie。設置會話變量或東西
- 您註銷
然後在您的控制器類,你可以做一個調用構造函數中的身份驗證功能,然後根據結果繼續正常或重定向到一個登錄界面與訪問被拒絕的消息。
請在代碼點火器維基「認證」搜索,並有多項成果,可以幫助:http://codeigniter.com/wiki/
我一直把登錄/註銷功能(以及其他一些功能)放到「auth」控制器中。在任何單獨的控制器中,我可以通過查看$ this-> session-> userdata('uid')是否已設置來檢查用戶是否已登錄。那是不好的做法? – Mala 2010-07-01 00:08:59
如果「某些頁面」是指某些控制器(視圖的網關),那麼您可能需要研究控制器繼承。用你自己的擴展默認的CodeIgniter控制器,並在構造函數中進行身份驗證檢查(檢查會話中是否有登錄標誌或其他內容,如果沒有登錄,則重定向到登錄頁面)。然後,所有需要驗證的控制器都需要擴展新的父控制器。而已。
轉向CodeIgniter論壇並搜索一些不同的方式來擴展控制器。這裏是一個http://codeigniter.com/forums/viewthread/89768/#452890
我一直在尋找到同樣的事情最近,我發現了一個笨叉叫Kohana那包括一個不錯的authentication module。如果您是在CI上設置的,也許可以將Kohana的auth模塊向後調整爲CI會爲您節省一些時間?如果您剛開始使用您的項目並且PHP5可以使用,請考慮切換;他們是非常相似的框架。
也許你可以使用CI的CL_AUTH庫。我已經使用它,它運作良好。你可以在這裏找到它http://www.jasonashdown.co.uk/cl_auth_doc/
「Ion Auth」是精益程序,編程良好,有點廣泛使用,並積極維護。
訪問GitHub和搜索笨驗證或認證,或者檢查CodeIgniter Wiki,你會發現具有不同特徵的許多圖書館..探索,並且能夠選擇一個你需要的!但要小心,許多是CI 2,並且您必須ucfirst the classes才能與CI 3一起使用,否則它們根本不工作。
使用flexi auth流行的庫的修改版本。它更先進,可以立即完成所有工作。
flexi auth是一個免費的開源用戶認證/登錄庫,用於CodeIgniter 2.0+框架。
我知道這太晚了,但我希望別人會發現它有幫助。 乾杯!
- 1. 對用戶進行身份驗證
- 2. CodeIgniter身份驗證+用戶權限
- 3. spring-security:使用用戶證書對LDAP進行身份驗證
- 4. 如何使用php和CodeIgniter對Active Directory進行身份驗證?
- 5. 使用Kong進行身份驗證
- 6. 使用Yelp進行身份驗證
- 7. 使用ManifoldCF進行Apache身份驗證
- 8. 使用SOAP進行laravel身份驗證
- 9. 使用REST API進行身份驗證
- 10. 使用OpenRasta進行身份驗證
- 11. 使用Firebase進行NodeJS身份驗證
- 12. 使用DropWizard進行OAuth身份驗證
- 13. 使用'before_filter'進行身份驗證
- 14. 使用WP7進行Facebook身份驗證
- 15. 使用AFOAuth2Manager進行身份驗證
- 16. 使用Zend_Http_Client進行身份驗證
- 17. 使用Active Directory進行身份驗證
- 18. 使用Twitter進行身份驗證
- 19. 使用basicHttpBinding進行身份驗證
- 20. 使用LinkChecker進行身份驗證
- 21. 使用Javascript進行WCF身份驗證
- 22. 使用python進行Kerberos身份驗證
- 23. 使用Vue.js進行JWT身份驗證
- 24. PowerShell使用Cookie進行身份驗證
- 25. 使用MakeCert進行身份驗證
- 26. 使用Tomcat進行Windows身份驗證
- 27. 使用GetHttpConnection進行NTLM身份驗證
- 28. 使用salesforce.com進行SAML身份驗證
- 29. 使用Web API進行身份驗證
- 30. 使用asp.net進行Windows身份驗證
你可能想看看https://github.com/delight-im/PHP-Auth,它既是框架不可知的,也是數據庫不可知的。 – caw 2016-09-21 05:33:10