本文實例分析了Yii2針對游客、用戶防范規則和限制的解決方法。分享給大家供大家參考,具體如下:
最近在用Yii2.0做項目,其中需要實現一個功能:沒有登錄不能訪問部分頁面,即游客身份訪問限制。查了半天資料,終于找到答案。解決方法如下:
在access里,access即訪問的意思,其中有個配置項:
only = [ login , about ]
這是什么意思呢,意思是僅僅在login、about兩個action內起作用,即當action 是login、about時,會進入rules里做下一步驗證。
但是 我們想除了登錄、注冊以外其他action均不允許訪問怎么辦呢?還有其他的配置,我們把only 改成 except,什么意思呢,是除去什么什么之外的意思,就是說對除了 login、signup以外的action起作用。接下來,在:
rules= [[ action = [ login , signup ], allow = true, roles = [ ? ]]]
里,rules就是規則,這里邊可以寫多條,actions是指規則針對哪個action,allow指是否允許訪問, roles 這個字段是關鍵的,這是允許訪問的角色。其中?代表游客,@代表已登錄的用戶。
html' target='_blank'>public function behaviors() return [ access = [ class = AccessControl::className(), except = [ login , signup ], rules = [ actions = [ login , signup ], allow = true, roles = [ ? ], verbs = [ class = VerbFilter::className(), actions = [ logout = [ post ],}
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !
相關推薦:
如何處理Yii2.0 Basic代碼中路由鏈接被轉義
關于yii2中結合gridview使用modal彈窗的代碼
如何實現用yii2.0創建簡單的widgets
以上就是如何解決Yii2針對游客和用戶防范規則和限制的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答