アプリケーションの 1 つに yii 拡張機能をインストールしようとしました。「 」のエラーが発生Error 403 You are not authorized to perform this action.
していますが、データベースで確認したところ、「authassignment」、「authitem」、「authitemchild」、「rights」というテーブルが作成されています。
そして、「authassignment」の下にデータがあります
Admin 1 NULL N;
ここで、1 は私のユーザー ID です。私の「ユーザー」テーブルに関しては、これは正しいです。私は 1 つのアカウントを持っています。構造は
CREATE TABLE IF NOT EXISTS `user` (
`user_id` int(10) AUTO_INCREMENT NOT NULL,
`login_id` varchar(255) NOT NULL,
`login_name` varchar(255) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
`level` int(3) NOT NULL DEFAULT '1',
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
次に、変更を反映するために「config/main.php」を変更しました
'rights'=>array(
'install'=>false,
'superuserName'=>'Admin',
'userIdColumn'=>'user_id',
'userNameColumn'=>'login_id',
),
何度も調査した結果、上記の手順は正しいと思います。/rights
ただし、インストール後にアクセスしようとすると。私は再び問題に直面します:
**Error 403 You are not authorized to perform this action**.
これは奇妙です。インストールドキュメントを確認しましたが、この問題について言及している場所はありません。ログインの仕方が間違っているのではないでしょうか??
public function authenticate()
{
$array=$this->auth_array;
$criteria=new CDbCriteria;
$criteria->compare('email',$array['email']);
$u=User::model()->findAll($criteria);
if(count($u)==0)
{
$user = new User;
$user->email = $array['email'];
$user->login_name=$array['name'];
$user->login_id=$array['login_id'];
if($user->save()){
$this->_id=$user->user_id;
}
}else{
$this->_id=$u[0]->user_id;
}
$this->setState('user_id', $this->_id);
$this->setState('display_name',$array['display_name']);
$this->setState('name',$array['name']);
$this->setState('email',$array['email']);
$user=User::model()->findByAttributes(array('user_id'=>$this->_id));
if(count($user)>0)
{
if($user->level==1)
{
$this->setState('role', 'user');
}
else if($user->level==0)
{
$this->setState('role','admin');
}
$this->errorCode=self::ERROR_NONE;
}else{
$this->errorCode=self::ERROR_USERNAME_INVALID;
}
return !$this->errorCode;
}
助けてください。