0

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

我怀疑 accessRules() 函数。

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

就像是:

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

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

请告诉我

  1. '@' 如何在accessRules中运行?
  2. 我们可以将“@”更改为其他特殊字符或唯一字符串吗?
4

1 回答 1

1

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

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

对于已经实现登录系统的示例,您可以查看在 demos 文件夹中下载框架时附带的博客演示。如果您一一检查登录过程中正在使用的文件,您可以轻松地复制它们并将它们集成到您的项目中。(例如;站点控制器/登录操作、登录表单、用户身份组件等)。

“@”符号代表登录用户,“*”表示所有用户。

所以我知道在数组的“用户”键中,我可以输入以下值之一:

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

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

于 2013-05-11T12:39:08.993 回答