Я установил модуль прав в yii. Также я создал роли пользователя и операции. Но это не работает. Я хочу знать, где я буду создавать пользователей для ролей?Как создать пользователей в модуле прав yii?
ответ
В соответствии с вашим стилем просто вставьте этот «пользователь/администратор/создайте».
look like http://url/index.php?r=user/admin/create
Теперь на странице просмотра вы можете получить все роли вашей БД с помощью
$all_roles=new RAuthItemDataProvider('roles', array(
'type'=>2,
));
$data=$all_roles->fetchData();
Затем создайте ниспадающее используя его. А и может создать пользователя на основе вашей роли
<div>
<label for="type_id">Type</label>
<?php echo CHtml::dropDownList("Type",'',CHtml::listData($data,'name','name'));? >
</div>
и назначить его в контроллере
$authorizer = Yii::app()->getModule("rights")->authorizer;
$ authorizer-> authManager-> назначить ($ типа, $ модели-> ID);
Вы создаете роли для пользователей не наоборот (или, по крайней мере, это мой подход, если вы хотите слиться с ним).
Для ролей, которые вы можете посмотреть на этот вопрос: redirect Access rules with Yii
Наилучшим подходом является использование класса CAccessControlFilter, определенный в фреймворка, а также расширить это ваши роли/давая класс доступа.
методВы ПРЕДФИЛЬТР будет выглядеть следующим образом:
protected function preFilter($filterChain)
{
$app=Yii::app();
$request=$app->getRequest();
$user=$app->getUser();
$verb=$request->getRequestType();
$ip=$request->getUserHostAddress();
foreach($this->getRules() as $rule)
{
if(($allow=$rule->isUserAllowed($user,$filterChain->controller,$filterChain->action,$ip,$verb))>0) // allowed
break;
elseif($allow<0) // denied
{
if(isset($rule->deniedCallback))
call_user_func($rule->deniedCallback, $rule);
else
$this->accessDenied($user,$this->resolveErrorMessage($rule));
return false;
}
}
return true;
}
И ваш класс WebUser будет выглядеть следующим образом:
class WebUser extends CWebUser {
// Store model to not repeat query.
private $_model;
// access it by Yii::app()->user->name
function getName(){
$user = $this->loadUser(Yii::app()->user->id);
return $user['Name'];
}
// access it by Yii::app()->user->isAdmin()
function isAdmin(){
$user = $this->loadUser(Yii::app()->user->id);
return intval($user['Type']) == 4;
}
function isEditor(){
$user = $this->loadUser(Yii::app()->user->id);
return intval($user['Type']) == 3;
}
function isOrganizer(){
$user = $this->loadUser(Yii::app()->user->id);
return intval($user['Type']) == 2;
}
function isNormal(){
$user = $this->loadUser(Yii::app()->user->id);
return intval($user['Type']) == 1;
}
// Load user model.
protected function loadUser($id=null)
{
if($this->_model===null)
{
if($id!==null)
$this->_model=User::model()->findByPk($id);
}
return $this->_model;
}
}
Я использовал это с успехом в одном из моих университетских проектов https://github.com/RazvanADumitru/EventsPlanning
- 1. Yii: Как создать crud-операции для модели в модуле?
- 2. Преимущества использования прав Yii?
- 3. Ограничение прав доступа в yii
- 4. Расширение прав пользователя Yii
- 5. Как добавить фильтр в модуль прав yii?
- 6. Как создать консольную команду в модуле?
- 7. Yii 2 Отдельный пользовательский экземпляр в модуле
- 8. Несколько пользователей в Yii
- 9. Yii framework, используя модуль в другом модуле
- 10. Yii :: configure не работает в модуле init()
- 11. MariaDB - ошибка предоставление прав пользователей
- 12. loading Yii Bootstrap только в модуле
- 13. Создайте уникальное поле в модуле yii-пользователя
- 14. как отображать атрибуты зарегистрированных пользователей в YII
- 15. Как создать миграцию в YII?
- 16. Настройка прав доступа пользователей в Windows
- 17. Как создать пользовательский URL в Yii
- 18. Как изменить тип данных в Yii пользователя и прав?
- 19. Yii - Создать список предметов
- 20. Rails 4 - Обновление прав доступа пользователей
- 21. Создать CDbCriteria в Yii
- 22. Yii - Как реализовать фигурные скобки в вашем модуле/моделях?
- 23. Как создать список с проверкой прав доступа
- 24. доступа внешних пользователей в модуле Javascript
- 25. Доступ запрещен для пользователей-пользователей в настраиваемом модуле magento
- 26. Отладка определенного нарушения прав доступа в модуле JNI
- 27. Где я не прав в этом модуле коде
- 28. Создать таблицу в модуле magento
- 29. Shell-Script: Cronjob против прав пользователей
- 30. Как создать глобальную переменную в эликсира модуле