YII開發技巧分享 控制器中動作許可權控制

2021-07-02 05:22:47 字數 651 閱讀 1959

在yii開發中,我們可以通過控制器中對accessrules函式的配置進行相應動作許可權控制,預設情況下可能是這樣:

public function accessrules()

在函式中可以配置具體哪些使用者可以訪問某些動作,但是在開發過程中我們很容易會發現上面有的幾個方式完全不夠用,於是不約而同地就會相對這個能不能訪問的規則是否能讓我們自定義了,答案是肯定的,確實可以自定義!

具體方法是這樣的(主要是用到accessrules中的expression屬性):

在accessrules函式體中:

return array(

array('allow',

'actions'=>array('admin'),

'expression'=>array($this,'getadvancedusers'),

),……

);沒錯就是這一句「 'expression'=>array($this,'advancedusers')」,我想相信接下來大家就很清楚了,就是在這個控制器中新增乙個advancedusers函式(該函式名自己可以根據自己的需要修改),函式如下:

public function advancedusers() 

}這裡返回乙個bool值,返回0代表檢查不通過,就是說沒有訪問admin這個動作的許可權!

Yii控制器動作的編寫方法

在yii中編寫控制器動作有兩種方法。一種是在控制器中以定義類方法的形式定義。定義規則是在動作名稱前加上action單詞。例如 class sitecontroller extends ccontroller 另一種方法 把動作單獨定義到乙個類檔案中。這樣可以很好的實現復用。例如 使用yii框架裡的提...

控制器和動作方法之控制器Controller

到達應用程式的每乙個請求都是由控制器處理的。只要不偏離到屬於模型和檢視職責的領域,控制器可以以它認為合適的方式自由地處理請求。在asp.net mvc框架中,控制器是含有請求處理邏輯的.net類。控制器的作用是 1.負責處理輸入請求 2.執行域模型上的操作 3.選擇渲染給使用者的檢視 建立乙個控制器...

控制器和動作方法之Action動作方法

1.產生輸出 控制器在完成了乙個請求的處理後,通常需要生成乙個響應。如 如果想傳送乙個html響應,必須參加並裝配html資料,並用reponse.write方法傳送到客戶端。2.理解動作結果 mvc框架使用動作結果 action result 把指明意圖和執行意圖分離開來。在動作方法被執行後,建立...