Size: a a a

var chat = new Chat();

2020 June 12

D

Devid QA in var chat = new Chat();
еще 1 вопросик пожалуйста, вот примером что бы создать проект в принципе прав не надо, а таску в проекте уже да, а у меня 1 екшен метод который умеет создавать от проекта до коментариев и когда я увидел ету проблему, вынес создание проекта в отдельный кнтролер з [AllowAnonymous] а методу по созданию всех сущностей кроме проекта засунул ендпоинт api/{projectId}/unit/
источник

D

Devid QA in var chat = new Chat();
плохо на ваш взгляд?
источник

D

Devid QA in var chat = new Chat();
еще так вышло что тот самый метод умеет апдейтить, удалять, добавлять все ети сущности, смотря на переданый параметр processToState условный, и реально проверить может ли даный юзер произвести даную операцию стало проблемой
источник

ДП

Дмитрий Полянин... in var chat = new Chat();
Очень сложно говорить не видя всей картины
источник

D

Devid QA in var chat = new Chat();
например мои permissions -   ProjectModify,
       ProjectDelete,
       MilestoneAdd,
       MilestoneModify,
       MilestoneDelete,
       SubTaskAdd,
       SubTaskModify,
       SubTaskDelete,
       TaskAdd,
       TaskModify,
       TaskDelete,
источник

ДП

Дмитрий Полянин... in var chat = new Chat();
Если сделал так что неудобно и это понял, переделываешь как удобнее
источник

D

Devid QA in var chat = new Chat();
в етом методе контролера я передаю ContentType, ProcessToState + данные
источник

JS

John Stellmann in var chat = new Chat();
Дмитрий Полянин
Ещё у меня у пользователя много ролей и права пользователя определяются по сумме ролей.
Сделай пермишен мап как предлагал Дмитрий
источник

D

Devid QA in var chat = new Chat();
John Stellmann
Сделай пермишен мап как предлагал Дмитрий
так и есть, роли мапятса на пермишени
источник

D

Devid QA in var chat = new Chat();
Devid QA
в етом методе контролера я передаю ContentType, ProcessToState + данные
все стает окей в етом методе я могу склеить все ето и проверить, но когда появились першмины   RoleChange,
       StatusChange,
       UserInvite,
       UserKick,   по сути появились новый схемы авторизации
источник

ДП

Дмитрий Полянин... in var chat = new Chat();
Кстати у роли можно ещё определять права на удаление пермишена при сумме ролей. Типа урезание прав за счёт роли. Но я такое не делал.
источник

D

Devid QA in var chat = new Chat();
есть ли патерн или способ розрулить типо [AuthHandler(AthenticationScheme.Кастомный), Permission.RoleCahnge], потому что для проверки Modify+ContentType по другом проверятса будет(как говорил,исходя из переданых параметров - склеиванием пермишена)
источник

ДП

Дмитрий Полянин... in var chat = new Chat();
Дмитрий Полянин
Кстати у роли можно ещё определять права на удаление пермишена при сумме ролей. Типа урезание прав за счёт роли. Но я такое не делал.
Для достижения например RO
источник

JS

John Stellmann in var chat = new Chat();
Дмитрий Полянин
Кстати у роли можно ещё определять права на удаление пермишена при сумме ролей. Типа урезание прав за счёт роли. Но я такое не делал.
у тебя если роль по пермишену есть более сильная и более слабая какя побеждает (Ну и у юзера их обе есть)?

Admin      0 1 1
SuperAdmin 1 1 1
источник

ДП

Дмитрий Полянин... in var chat = new Chat();
У меня авторизация проверяется прямо в контроллере! Потому что на один экшон при разных условиях может быть разный результат авторизации. И для этой проверки у меня свой сервис.
Возможно твой вопрос к этому относится.

То есть в зависимости от условий пользователь может быть допущен к части разрешений внутри даже одного экшона
источник

D

Devid QA in var chat = new Chat();
Дмитрий Полянин
У меня авторизация проверяется прямо в контроллере! Потому что на один экшон при разных условиях может быть разный результат авторизации. И для этой проверки у меня свой сервис.
Возможно твой вопрос к этому относится.

То есть в зависимости от условий пользователь может быть допущен к части разрешений внутри даже одного экшона
угу, хотел вынести ето в фильтр/хендлер что бы не дублировать код
источник

ДП

Дмитрий Полянин... in var chat = new Chat();
Например при редактировании коментария в одном разделе и в другом разные права. И также даже если можно редактировать тело коментария есть право на редактирование даты коментария только у админа. То есть даже в фильтр не вынести без магии.
источник

ДП

Дмитрий Полянин... in var chat = new Chat();
Могу код показать
источник

D

Devid QA in var chat = new Chat();
угу, пожалуйста
источник

ДП

Дмитрий Полянин... in var chat = new Chat();
источник