Size: a a a

2018 November 13

AK

Alex Kovalchuk in Laravel UA
Мряка
а если уже добавить хоть какой-то менеджмент ролей юзерами, то все. либо ты пишешь свой костыль, либо "жертвуешь" место на диске для целых ~5 лишних таблиц, создаваемых laravel-permissions
Имхо я очень болезненно даю создавать таблицы пакетам максимум oauth  от ларавела, по-этому, админка вояджер мне не зашла
источник

М

Мряка in Laravel UA
ну а жесткие диски и так до неприличия дешевые, думаю 5 таблиц будут стоить не дорого
источник

AK

Alex Kovalchuk in Laravel UA
Мряка
а если уже добавить хоть какой-то менеджмент ролей юзерами, то все. либо ты пишешь свой костыль, либо "жертвуешь" место на диске для целых ~5 лишних таблиц, создаваемых laravel-permissions
Я люблю оставлять таблицы максимально чистыми без лишнего
источник

М

Мряка in Laravel UA
ну. если ты можешь решить ту же  проблему столь же качественно, обойдясь меньшим количеством таблиц, то да. это обосновано
источник

М

Мряка in Laravel UA
и на самом деле, поле is_admin в случае, если у тебя на несколько тысяч юзеров один админ
источник

В

Вячеслав in Laravel UA
Тут даже овер не в количестве таблиц, почитайте внимательнее
источник

В

Вячеслав in Laravel UA
Речь о поддержке этого дела.
источник

В

Вячеслав in Laravel UA
На проектах с которыми вы имели дело, всегда нужно роли или разрешения выдавать через админку или ещё каким-то динамическим образом?
По моему опыту, те или иные права зависят, от купленой подписки или от зарегестрированного типа аккаунта. Или от выданой роли. Нужда выдавать несколько ролей или отдельные права встречается редко.
источник

М

Мряка in Laravel UA
ну, насколько мой ужасный английский позволяет понять, тут идет речь о том, что в процессе поддержки и изменения системы прав можно много где налажать и это превращается в комплексную задачу, хотя изначально все выглядит просто
источник

М

Мряка in Laravel UA
ну так библиотеки наоборот это облегчают, разве нет?
источник

В

Вячеслав in Laravel UA
Здесь нужно конкретезировать, что значит поддержка и изменение системы. Речь о том, что в основном, что бы понять можно ли тебе заходить в админку, достаточно:
Gate::define(‘admin-access’, function(User $user, Post $post) {
    return $user->is_admin;
    //or
    return $user->role === ‘admin’;    
});


а для того, что бы проверить имеет ли право пользователь редактировать пост или комментарий, достаточно:

Ga
te::define('edit-post', function(User $user, Post $post) {
    return $user->id == $post->owner_id;
});

Вот это уже будет овер:

Gate::define('edit-post', function(User $user, Post $post) {
    return $user->id == $post->owner_id
            && $user->hasPermissionTo('edit posts');
});
источник

В

Вячеслав in Laravel UA
Ещё там описано, что если права и роли создаются из админки, то добавление новых ролей при раработке может усложнится. А точнее синхронизация динамически добавленых ролей и прав с теми, которые были созданы в процессе работы приложения
источник

М

Мряка in Laravel UA
ну. тут да, все очень завязано на задачу. в каком-то случае даже твой пример может быть вполне валидным
источник

М

Мряка in Laravel UA
к примеру, если авторство поста не гарантирует возможность его дальнейшего редактирования
источник

М

Мряка in Laravel UA
конечно, во многих ситуациях достаточно механизмнов ларавель. которых, к слову, очень и очень много на любой вкус. что иногда даже смущает и заставляет выбирать между несколькими вариантами
источник

В

Вячеслав in Laravel UA
Можете посмотреть на стандартный шаблон приложения spatie, который они используют для своих проектов:

https://github.com/spatie/blender/blob/master/composer.json

В composer.json вы не найдёте laravel-permissions

Но в таблице users, можно найти строковое поле role:

https://github.com/spatie/blender/blob/master/database/migrations/2014_10_12_000000_create_users_front_table.php#L24
источник

М

Мряка in Laravel UA
ну, я честно скажу. что до текущего проекта писал все на гейтах ларавель. и в целом этого механизма действительно достаточно. а когда строковое поле role не удовлетворяет аппетитам задачи, можно довольно просто вынести это в отдельную табличку с разрешениями.
но в текущем проекте все же решил взять permissions на борт своего composer.json
источник

М

Мряка in Laravel UA
хотя тут и не предвидется ничего особо сложного по ролям, и в основном все так же буду использовать какие-либо гейты. я не вижу особого оверхеда в их использовании, при том, что это сильно упрощает написание ровно одной странички админки - той, где админ назначает различным менеджерам их сферы обязанностей
источник

М

Мряка in Laravel UA
просто потому что в тз не сказано какие именно будут менеджеры(а следовательно клиент и сам пока не особо в курсе данного вопроса), мне в будущем будет проще это менять, а лучше вообще сгрузить на плечи самого клиента
источник
2018 November 14

AA

Ann Ali in Laravel UA
Привет. Кто-то использовал https://github.com/pmatseykanets/laravel-scout-postgres и вобщем full-text поиск для postgresql? Если да, расскажите, пожалуйста о впечатлениях
источник