2011-03-30 2 views
4

Это связано с этим question, который, кажется, попросил некоторое время назад. Реализация безопасности в проекте, который придерживается основных принципов проектирования, управляемого доменом. позвольте мне привести примерРазработка и безопасность доменов

банковской системы:
Использования: Новый банковский депозит делается и требует одобрения, как это первый депозит

а. Клерк может авторизоваться, если сумма депозита равна b. Менеджер может быть двух типов: менеджер банка/менеджер аккаунта. ТОЛЬКО менеджер счета может разрешить любые счета, которые имеют депозит> 5000

Мои проблемы заключаются в следующем (Pls правильно, если сам концерн правильно)

  1. Не уверен, где я должен построить эту следующую логику - заботится о проверяя, имеет ли зарегистрированный пользователь авторизацию делать определенные вещи, чтобы учесть свой титул - (в этом случае Account manager). Авторизация является прецедентом, но уровень безопасности, похоже, имеет глубокие знания в объекте домена.
  2. В целом авторизация (а не аутентификация). Я знаю, что проверка подлинности на основе ролей поможет, но вопрос «где» - в каком слое и потоке вызовов. Должен ли слой пользовательского интерфейса вызывать какой-либо уровень безопасности или будет ли уровень домена проверяться на наличие всех возможных комбинаций?

Пожалуйста, помогите. Это очень запутанно.

Bump, чтобы увидеть, если это получает эксперты замечают

Приветствия

ответ

3

Безопасность является сквозная особенность конструкции, которая может повлиять на все классы, методы и свойства.

С точки зрения DDD вы должны руководствоваться спецификациями и ролями.

Где и как эти технические характеристики внедряются, сводится к вашей архитектуре. Вы можете пойти с аспектами, вы могли бы пойти с поточных вызовов, событий и т.д.

Вот некоторые ссылки, я хотел бы проверить в отношении безопасности и роли:

+0

Спасибо за быстрый ответ. Я смотрю. – VJVRR

+0

Спасибо за быстрый ответ. RBAC была интересной ссылкой, но я больше смотрел на некоторые примеры/быстрые интерфейсы/классы, которые давали бы мне представление о том, как это может выглядеть. Новичок здесь, theroically может получить его. Практически на учебной лестнице. – VJVRR

+0

Я использую класс ISecurity.Authorize (string userID), который вызывается каждым методом при выполнении CRUD. Авторизация проверяет, прошел ли аутентификация пользователя и владеет обновляемым объектом или администратором. –

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