2010-10-11 3 views
1

Я хотел бы знать, где люди рисуют границу между назначением прав доступа пользователю в пользовательском приложении muliti и бизнес-логике.Права доступа ACL и бизнес-логика

Например, если у пользователя есть разрешение на доступ к нескольким автомобилям, вы назначаете эти разрешения непосредственно через класс пользователя, добавляя их в коллекцию объектов автомобиля у пользователя или назначая их в ACL и используете ACL, чтобы получить список автомобилей, к которым пользователь имеет доступ?

Существуют ли какие-либо рекомендации по использованию ACL для такого рода вещей и когда это должно быть частью бизнес-логики?

ответ

0

Обычная практика - это «основанная на ролях безопасность».

Например, вы можете создать две роли: «продавец» и «поддержка».

«Продавец» имеет разрешение на вождение, заправку и парковку набора автомобилей.

«Техническое обслуживание» будет иметь разрешение на вождение, обслуживание и ремонт набора автомобилей.

Вы бы выделили своих сотрудников той или иной роли.

+0

Да, но вы могли бы, кроме продавца и обслуживания, как часть вашей модели домена как подклассы сотрудника и назначать отношения через ассоциацию с классом автомобиля. Является ли это лучше или хуже, чем использование подхода безопасности на основе ролей. – eaglestorm

+0

Обычно ответ «Да», поскольку вы можете группировать такие элементы, как логин, сеть, доступ к файлам и т. Д., В ACL на основе ОС. Таким образом, когда нанимают нового продавца, вы просто добавляете их в группу и получаете весь доступ, в котором они нуждаются. –

Смежные вопросы