2014-09-01 64 views
0

所以我是yii框架的新手,我正在做一個網站的這種博客風格,試圖覆蓋大部分我能想到的功能,而我堅持的功能是擁有不同的用戶角色例如。如何在yii中扮演角色

假設我們有一位作家和一個正常的登錄用戶,當他進入文章頁面時,他可以看到一些按鈕,而普通用戶只能看到評論按鈕。

如何在Yii框架內做些什麼來做到這一點?和我可以在互聯網上找到的教程?

謝謝你的時間。

回答

0

名單User模型

class User extends MyModel { 

    const ROLE_ADMIN = 1, 
     ROLE_AUTHOR = 2, 
     ROLE_USER = 3; 

所有角色role領域也增加了用戶(在數據庫和模型)。

components/UserIdentity.php添加一些方法

public function isAuthor() { 
    return !empty($this->user) && $this->user->role == User::ROLE_AUTHOR; 
} 

public function isGuest(){ 
    return empty($this->user); 
} 

另外,我建議這種方法添加到User型號:

public function getRole($role = null) { 
    $roles = [ 
     self::ROLE_ADMIN => 'Admin', 
     self::ROLE_AUTHOR => 'Author', 
     self::ROLE_USER => 'User', 
    ]; 

    if (!is_null($role)) { 
     return isset($roles[$role]) ? $roles[$role] : 'Unknown role'; 
    } 

    return $roles; 
} 
+0

謝謝你的回覆,我會稍後嘗試它,當我回家。我會讓你註冊日期:) – Steve 2014-09-02 13:00:16

+0

好吧,現在我已經做到了這一點,我現在如何使用它,對框架工作很抱歉:/ – Steve 2014-09-03 07:37:00

+0

@Colosuslol'Yii :: app() - > user-> isAdmin )'=>允許轉到管理頁面,否則返回登錄 – Justinas 2014-09-03 08:17:47

0

你好感謝你的幫助,其他人給了我,但我有一個發現一個簡單的指南,我很容易理解,它非常好用。您可以在以下Link中找到該教程。謝謝你幫助傢伙!

相關問題