В основном я хочу, чтобы пользовательские разрешения.
У меня есть таблица под названием «учетные записи» в моей базе данных. Существует столбец с именем «group_id». Я хочу установить его, когда «group_id» = 3, тогда пользователь является администратором. Затем он может просматривать специальные сайты, кнопки и тому подобное. Я попытался реализовать что-то вроде этого:
public function ($roleName) { $role = $this->roles; if ($role->name == $roleName) { return true; } return false; }
Кроме того, я не знаю, что и как нужна модель, нужна ли мне новая и тому подобное.
Старый пост, но, возможно, кто-то найдет это полезным
Добавьте метод в модель пользователя, который возвращает true, если пользователь является администратором. В нашем случае здесь просто «наш group_id равен 3?»
// models/User.php class User extends Eloquent { ... public function isAdmin() { return $this->group_id == 3; } }
Затем добавьте фильтр, который можно использовать для защиты маршрутов
// filters.php Route::filter('admin', function($route, $request) { if ( ! Auth::user()->isAdmin()) { return App::abort(401, 'You are not authorized.'); } });
Наконец, используйте фильтр для защиты группы маршрутов. Я в этом упрощенном случае, только пользователь admin мог получить доступ /admin
// routes.php Route::group(array('before' => array('auth|admin')), function() { Route::get('/admin', function() { return Response::make("You're an admin!"); } });
Основываясь на этом сообщении: http://laravelsnippets.com/snippets/admin-route-filter
Я предлагаю Власть для Laravel 4
Я лично использую пакет Verify для управления пользователями.