本篇文章給大家分享的是有關如何解決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'這個字段是關鍵的,這是允許訪問的角色。其中?代表游客,@代表已登錄的用戶。
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'], ], ], ]; }
以上就是如何解決Yii2針對游客與用戶防范規則和限制的問題,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創新互聯行業資訊頻道。
當前題目:如何解決Yii2針對游客與用戶防范規則和限制的問題-創新互聯
地址分享:http://vcdvsql.cn/article2/ddjioc.html
成都網站建設公司_創新互聯,為您提供電子商務、品牌網站建設、響應式網站、做網站、網站制作、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯