<?php
/**
* SiteController is the default controller to handle user requests.
*/
class Site2Controller extends BaseController
{
/**
* Index action is the default action in a controller.
*/
public function actionIndex()
{
// phpinfo();
echo "<pre/>";
//新建用户
// $u=new User();
// $u->uname='samguest';
// $u->upassword=md5('cccccc');
// $u->ucreatetime=time();
// $u->save();
// exit;
//授权
// $auth=Yii::app()->authManager;
// $auth->assign('reader','samguest');
// exit;
//登录
$identity=new PerLib_UserIdentity('samguest','cccccc');
if($identity->authenticate()){//验证用户,注意;PerLib_UserIdentity是继承Yii提供的CUserIdentity 实现的。
Yii::app()->user->login($identity);
echo '登录成功!';
}else{
echo '登录失败!';
}
//鉴权
if(Yii::app()->user->checkAccess('readPost')){
echo 'readPost鉴权通过!';
}else{
echo 'createPost鉴权失败!';
}
if(Yii::app()->user->checkAccess('createPost')){
echo 'createPost鉴权通过!';
}else{
echo 'createPost鉴权失败!';
}
exit;
}
/**
* 权限管理
*/
function AuthInit(){
$auth=Yii::app()->authManager;
//创建操作
$auth->createOperation('createPost','create a post');
$auth->createOperation('readPost','read a post');
$auth->createOperation('updatePost','update a post');
$auth->createOperation('deletePost','delete a post');
$bizRule='return Yii::app()->user->id==$params["post"]->authID;';
$task=$auth->createTask('updateOwnPost','update a post by author himself',$bizRule);
$task->addChild('updatePost');
//创建角色,并为角色分配操作
$role=$auth->createRole('reader');
$role->addChild('readPost');
$role=$auth->createRole('author');
$role->addChild('reader');
$role->addChild('createPost');
$role->addChild('updateOwnPost');
$role=$auth->createRole('editor');
$role->addChild('reader');
$role->addChild('updatePost');
$role=$auth->createRole('admin');
$role->addChild('editor');
$role->addChild('author');
$role->addChild('deletePost');
//给用户分配角色
$auth->assign('reader','readerA');
$auth->assign('author','authorB');
$auth->assign('editor','editorC');
$auth->assign('admin','adminD');
}
}
/**
* SiteController is the default controller to handle user requests.
*/
class Site2Controller extends BaseController
{
/**
* Index action is the default action in a controller.
*/
public function actionIndex()
{
// phpinfo();
echo "<pre/>";
//新建用户
// $u=new User();
// $u->uname='samguest';
// $u->upassword=md5('cccccc');
// $u->ucreatetime=time();
// $u->save();
// exit;
//授权
// $auth=Yii::app()->authManager;
// $auth->assign('reader','samguest');
// exit;
//登录
$identity=new PerLib_UserIdentity('samguest','cccccc');
if($identity->authenticate()){//验证用户,注意;PerLib_UserIdentity是继承Yii提供的CUserIdentity 实现的。
Yii::app()->user->login($identity);
echo '登录成功!';
}else{
echo '登录失败!';
}
//鉴权
if(Yii::app()->user->checkAccess('readPost')){
echo 'readPost鉴权通过!';
}else{
echo 'createPost鉴权失败!';
}
if(Yii::app()->user->checkAccess('createPost')){
echo 'createPost鉴权通过!';
}else{
echo 'createPost鉴权失败!';
}
exit;
}
/**
* 权限管理
*/
function AuthInit(){
$auth=Yii::app()->authManager;
//创建操作
$auth->createOperation('createPost','create a post');
$auth->createOperation('readPost','read a post');
$auth->createOperation('updatePost','update a post');
$auth->createOperation('deletePost','delete a post');
$bizRule='return Yii::app()->user->id==$params["post"]->authID;';
$task=$auth->createTask('updateOwnPost','update a post by author himself',$bizRule);
$task->addChild('updatePost');
//创建角色,并为角色分配操作
$role=$auth->createRole('reader');
$role->addChild('readPost');
$role=$auth->createRole('author');
$role->addChild('reader');
$role->addChild('createPost');
$role->addChild('updateOwnPost');
$role=$auth->createRole('editor');
$role->addChild('reader');
$role->addChild('updatePost');
$role=$auth->createRole('admin');
$role->addChild('editor');
$role->addChild('author');
$role->addChild('deletePost');
//给用户分配角色
$auth->assign('reader','readerA');
$auth->assign('author','authorB');
$auth->assign('editor','editorC');
$auth->assign('admin','adminD');
}
}