色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

php - TP5的登錄驗(yàn)證問題

瀏覽:100日期:2022-06-12 09:16:10

問題描述

應(yīng)該屬于比較菜的一個(gè)問題,就是我在處理前后端的時(shí)候,需要判斷是否存在session來確定用戶是否登錄。

但是我通過文檔看到的辦法只能自己在每個(gè)頁面都引入一次判斷,然后進(jìn)行其他操作,不過肯定有更簡(jiǎn)單的辦法來處理這個(gè)事,自己實(shí)在是研究不出來了,請(qǐng)大神幫忙!

主要就是如何能一次設(shè)置,然后讓制定目錄下的頁面都判斷是否登錄,從而方便下一步的操作

問題解答

回答1:

第一種引用訪問:將所有session判斷驗(yàn)證寫在一個(gè)類裡面。在每一個(gè)控制器裡創(chuàng)建前置控制器方法或者初始化控制,在方法裡面直接引用session類的登錄驗(yàn)證方法。第二種繼承:就是每個(gè)控制器都繼承session驗(yàn)證類,這樣每次訪問控制器都繼承session所有類與方法,在session類設(shè)置初始化控制,作為session的登錄驗(yàn)證

個(gè)人推薦第二種,因?yàn)椴恍枰诿總€(gè)控制器裡面初始化控制器,減少代碼便於維護(hù)

回答2:

寫一個(gè)基類如Base.php,通過其_initialize來實(shí)現(xiàn),如:

<?phpnamespace appadmincontroller;use thinkController;class Base extends Controller{ public function _initialize(){$uid = session(’uid’);if($uid == null){ $this->rediect(’Login/index’,’請(qǐng)先登錄后操作’);} }}

其中Login.php不能繼承Base.php,否則需要另外的特殊判斷,如:

<?phpnamespace appadmincontroller;use thinkController;class Login extends Controller{ public function _initialize(){$uid = session(’uid’);if($uid != null){ $this->rediect(’Index/index’,’已登錄’);} }}回答3:

我也是小白一枚,只是有個(gè)想法,可以在登錄存儲(chǔ)session之后,在后端寫一個(gè)判斷session的公共方法,然后在需要目錄下面嗲用這個(gè)方法,這樣就不需要在每個(gè)目錄下面都去判斷了!

只是個(gè)人想法,沒有實(shí)踐啊!回答4:

寫一個(gè)驗(yàn)證中間件(行為),然后在路由里調(diào)用,可以任意指定哪些頁面需要調(diào)用這個(gè)驗(yàn)證的中間件.

可以看下手冊(cè)里行為那一部分

回答5:

不用每個(gè)頁面引入判斷啊,你把所有的控制器繼承一個(gè)公共的控制器,在公共的控制器寫一次session判斷就可以了

相關(guān)文章:
主站蜘蛛池模板: 中文字幕中文字幕在线 | 欧美精品国产制服第一页 | 福利视频在线午夜老司机 | 久草高清视频 | 欧美熟videos肥婆 | 成人污网站 | 久草免费网站 | 美女三级毛片 | 99九九精品国产高清自在线 | 精品国产亚洲一区二区在线3d | 草草影院地址 | 性欧美成人依依影院 | 欧美一线免费http | 999久久久 | 欧美在线综合 | 国产亚洲高清在线精品99 | 日韩在线专区 | 久久91精品国产91 | 毛片亚洲毛片亚洲毛片 | 曰批美女免费视频播放 | 美女做爰视频在线观看免费 | 久久精品国产精品亚洲艾 | 成人在线网 | 久草手机在线观看视频 | 久久99中文字幕 | 久久精品免费播放 | 免费看a级片 | 91亚洲精品一区二区福利 | 毛片看看 | a站在线观看 | 成人香蕉xxxxxxx | 欧美亚洲国产精品 | 亚洲精品影院一区二区 | 久久这里只有精品免费播放 | 日韩一区二区在线视频 | 亚洲精品永久一区 | 日本韩国欧美在线 | 成人精品一级毛片 | 国产一级毛片卡 | 香蕉视频老司机 | 国产美女在线精品观看 |