2014-09-01 110 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中找到该教程。谢谢你帮助家伙!

相关问题