AuthManager and Oracle

I get the following error when I run rbac at the command prompt:

ORA-00942: table or view does not exist. The SQL statement executed was: DELETE FROM "AuthAssignment"

I created the tables (AUTHASSIGNMENT, AUTHITEM, AUTHITEMCHILD) in Oracle and modified the CAuthAssigment.php file.

I believe the problem is because of the TABLES being UPPERCASE for ORACLE but I don’t know how to solve it.

Any help would be greatly appreciated.

You can set the assignmentTable, itemChildTable and itemTable properties of CDbAuthmanager

Thank you. I did go into CDbAuthmanager.php and Changed the 3 tablenames to uppercase. I now get errors for the column names in lowercase. I started to change all the fields I could think of to uppercase but was wondering if there might be an easier way to do this. I saw someone talking about creating the following extension.

   public function getAuthItems($type=null,$userId=null) {


            // Force lower-case


            $pdo_case = $this->db->getColumnCase();


            $this->db->setColumnCase(PDO::CASE_LOWER);





            $authItems = parent::getAuthItems($type, $userId);





            // Return original case


            $this->db->setColumnCase($pdo_case);





            return $authItems;


    }

I’m new to Yii and don’t know where to put this code.

Thank you again. I’m almost there.

I have the same problem, ladymtnbikrdr. I’m using Oracle but I don’t want to change the fields’ names in the framework source files. How did you solve that?

I never got a response and I need to get this done so I just went ahead and changed field names to uppercase in CDbAuthmanager.php and it worked. I can send you the file if you like.

I really like the yii framework but it has been very frustrating to get it working with Oracle. We are in the process of choosing a framework that everyone will use and it’s going to be hard to convince them to use yii because of our dependence on the Oracle database.

Read this: http://www.yiiframework.com/doc/guide/1.1/en/topics.auth#configuring-authorization-manager

Wouldnt this work:


Yii::app()->authManager->assignmentTable = 'AUTHASSIGNMENT';

You dont need to modify any of yii’s framework code…