如何给一个注册用户添加一个权限或角色
2015-06-09 11:16
477 查看
在gii中生成model文件AuthItem.php和AuthAssignment.php
修改SignupForm文件
[align=left]class SignupForm extends Model{[/align]
[align=left]# code...[/align]
[align=left]public $permissions ;[/align]
[align=left] # code...[/align]
[align=left]}[/align]
2.修改SiteController文件
[align=left]use backend \models\ AuthItem;[/align]
public function actionSignup()
{
$model = new SignupForm();
$authItems =AuthItem:: find()-> all();
if ($model-> load(Yii ::$app-> request->post ()))
{
if ($user = $model->signup ())
{
if (Yii:: $app->getUser ()->login ($user))
{
return $this ->goHome();
}
}
}
return $this->render ('signup',
[
'model' => $model,
'authItems' =>$authItems
]);
}
[align=left] 3.修改signup.php文件[/align]
[align=left]# code...[/align]
[align=left]use[/align]
yii\helpers \ArrayHelper;
[align=left]# code...[/align]
[align=left]<?php[/align]
[align=left]$authItems[/align]
=ArrayHelper ::map( $authItems,'name' ,'name');
[align=left]?>[/align]
[align=left] <?=[/align]
$form->field ($model, 'permissions')-> checkboxList($authItems ); ?>
[align=left]# code...[/align]
[align=left]4.修改SignupForm文件[/align]
/**
* Signs user up.
*
* @return User|null
the saved model or null if saving fails
*/
public function signup()
{
if ($this-> validate())
{
$user = new User();
$user ->username = $this->username ;
$user ->email = $this->email ;
$user ->setPassword( $this->password );
$user ->generateAuthKey();
$user ->save();
$permissionList =$_POST[ 'SignupForm']['permissions' ];
// lets add the permissions
foreach( $permissionList as $value ){
$newPermissions =new AuthAssignment ();
$newPermissions ->user_id= $user->id ;
$newPermissions ->item_name= $value;
$newPermissions ->save();
}
return $user ;
}
return null ;
}
修改SignupForm文件
[align=left]class SignupForm extends Model{[/align]
[align=left]# code...[/align]
[align=left]public $permissions ;[/align]
[align=left] # code...[/align]
[align=left]}[/align]
2.修改SiteController文件
[align=left]use backend \models\ AuthItem;[/align]
public function actionSignup()
{
$model = new SignupForm();
$authItems =AuthItem:: find()-> all();
if ($model-> load(Yii ::$app-> request->post ()))
{
if ($user = $model->signup ())
{
if (Yii:: $app->getUser ()->login ($user))
{
return $this ->goHome();
}
}
}
return $this->render ('signup',
[
'model' => $model,
'authItems' =>$authItems
]);
}
[align=left] 3.修改signup.php文件[/align]
[align=left]# code...[/align]
[align=left]use[/align]
yii\helpers \ArrayHelper;
[align=left]# code...[/align]
[align=left]<?php[/align]
[align=left]$authItems[/align]
=ArrayHelper ::map( $authItems,'name' ,'name');
[align=left]?>[/align]
[align=left] <?=[/align]
$form->field ($model, 'permissions')-> checkboxList($authItems ); ?>
[align=left]# code...[/align]
[align=left]4.修改SignupForm文件[/align]
/**
* Signs user up.
*
* @return User|null
the saved model or null if saving fails
*/
public function signup()
{
if ($this-> validate())
{
$user = new User();
$user ->username = $this->username ;
$user ->email = $this->email ;
$user ->setPassword( $this->password );
$user ->generateAuthKey();
$user ->save();
$permissionList =$_POST[ 'SignupForm']['permissions' ];
// lets add the permissions
foreach( $permissionList as $value ){
$newPermissions =new AuthAssignment ();
$newPermissions ->user_id= $user->id ;
$newPermissions ->item_name= $value;
$newPermissions ->save();
}
return $user ;
}
return null ;
}
相关文章推荐
- linux 用户空间与内核空间——高端内存详解
- flexpaper 不能访问以IP配置的路径,只能使用localhostflash
- ./startup.sh: Permission denied
- Powershell Set-ScheduledTaskCredential
- android数据存储-文件操作
- 技术分析淘宝的超卖宝贝
- Python 第十五周 文件、目录、流
- $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
- api
- UVa 10271 Chopsticks
- FMDB-Demo流程
- afnetworking
- 使用Docker做开发的建议团队工作流
- Ubuntu 14.04一步一步安装Openstack Kilo版本-7(keystone)
- java基础复习之四:注释,标识符,关键字, 变量,常量
- 数据挖掘分类算法之决策树(zz)
- Eclipse提示No java virtual machine(转载)
- iOS开发笔记-swift实现iOS数据持久化之归档NSKeyedArchiver
- cocos2dx吸蓝效果实现opengl绘制
- Android中Activity启动默认不显示输入法解决方法