onunix
- onunix 回复了话题 请问中文化为什么会导致排列错误
那排列错误的问题如何解决呢?参见图中,中文化后,排列就错乱了。
- onunix 发布了话题请问中文化为什么会导致排列错误
呵呵,可能我没有说清楚,这个我是知道的,但是我发现里面内置了两个角色,1个是Administrator,1个是Authority,这两个角色分别是干什么用的呢?还有, 里面内置的2个
operation : Edit User
和Edit Post有什么区别- onunix 回复了话题 请教srbac使用过程中的问题
多谢,我知道了...
- onunix 回复了话题 请教srbac使用过程中的问题
多谢,但是似乎还要加点东西
1:在main.php中只设置'userclass'=>'User', //default: User 'userid'=>'user_ID', //default: userid 'username'=>'username', //default:username
没有设置密码的对应关系,那是否存在问题啊?这个地方
$user->validatePassword($this->password)
能行吗?2:按照你的修改后,提示如下错误:
PHP warning include(Member.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory D:\skill\finance\yii-1.1.10.r3566\framework\YiiBase.php(418) 406 { 407 foreach(self::$_includePaths as $path) 408 { 409 $classFile=$path.DIRECTORY_SEPARATOR.$className.'.php'; 410 if(is_file($classFile)) 411 { 412 include($classFile); 413 break; 414 } 415 } 416 } 417 else 418 include($className.'.php');
- onunix 回复了话题 请教srbac使用过程中的问题
是的,应该这样,因为用户名和用户ID放在User表中,自动生成了model\User.php和UserController.php,我应该在model\User.php中增加一个方法 getIDByUsername(),然后在UserIdentity文件里,调用model\User.php中的 getIDByUsername(),思路是否应该这样?
还是应该:
在UserController.php里面也增加一个 getIDByUsername(),方法,然后在UserIdentity文件里getId()方法中,调用UserController.php里的getIDByUsername()方法?
- onunix 回复了话题 请教srbac使用过程中的问题
如何继续查userid不正确的根源呢?请教下各位,我不知道该如何继续查下去了。
- onunix 回复了话题 请教srbac使用过程中的问题
问题确实就在这了
我写成public function checkAccess($itemName, $userId, $params=array()) { if (!empty($this->defaultRoles) && in_array($itemName,$this->defaultRoles)) { return true; } $sql = "SELECT name, type, description, t1.bizrule, t1.data, t2.bizrule AS bizrule2, t2.data AS data2 FROM {$this->itemTable} t1, {$this->assignmentTable} t2 WHERE name=itemname AND userid=:userid"; $command = $this->db->createCommand($sql); $userId = 1;//关键是这里, $command->bindValue(':userid', $userId); Yii::trace('itemName is '.$itemName); Yii::trace('userid is '.$userId); // check directly assigned items $names = array(); foreach ($command->queryAll() as $row) { Yii::trace('Checking permission "' . $row['name'] . '"', 'system.web.auth.CDbAuthManager'); if ($this->executeBizRule($row['bizrule2'], $params, unserialize($row['data2'])) && $this->executeBizRule($row['bizrule'], $params, unserialize($row['data']))) { if (strtolower($row['name']) === strtolower($itemName)) { return true; } $names[] = $row['name']; } }
就OK了,为什么userid的值错误了呢,userid不应该为 'admin‘,应该为1