@如何在YII中的accessRules中运行

时间:2013-05-11 12:05:50

标签: php yii

我正在使用YII开发一个演示项目来学习它。

我怀疑是accessRules()函数。

在我检查用户访问权限的项目中(对于注册用户),我在用户登录的会话中保留一个值,并且我使用' 表达式检查用户访问权限' accessRules 中的上下文参数。

类似的东西:

    array('allow', 
        'actions'=>array('create','edit','delete'),
        'expression' => '$this->isUser()' //isUser() returns bool value by checking session.
    ),

对于同样的功能,我喜欢使用' 用户'上下文参数。但我无法理解' @'是指经过身份验证的用户。

请告诉我

  1. 如何' @'正在 accessRules 中运行?
  2. 我们可以改变' @'其他特殊字符或唯一字符串?。

1 个答案:

答案 0 :(得分:1)

您使用什么来检测用户是否已登录?一个简单的会话变量由你自己手动设置?

我建议你看看这里有关Yii登录的信息:
http://www.yiiframework.com/doc/guide/1.1/en/topics.auth

对于已经实现登录系统的示例,您可以查看demos文件夹中下载框架附带的博客演示。 如果逐一检查登录过程中使用的文件,则可以轻松复制它们并将它们集成到项目中。 (比如; sitecontroller / login动作,loginform,useridentity组件等)。

'@'符号表示登录用户,'*'表示所有用户。

所以我知道在数组的'users'键中我可以放置其中一个值:

  • '@'所有登录用户
  • '*'所有用户
  • 'array('username1','username2','username3')' - 仅限特定用户

其他可能有用的资源:
http://www.larryullman.com/2010/01/04/simple-authentication-with-the-yii-framework/