Какова наилучшая практика для размещения бизнес-логики в дизайне сообщений?(ServiceStack) Местоположение бизнес-логики в архитектуре на основе сообщений
Я использую служебную программу для строительства своего ави.
The wiki показывает пример размещения атрибута RequiredRole
в сообщении вместо службы, обрабатывающей его.
В некотором смысле это [RequiredRole]
/[Authenticate]
- это бизнес-логика/безопасность, прилагаемая к сообщению.
Конкретный пример
Скажем, например, я хотел бы добавить DeleteAddress
сообщение:
public class DeleteAddress : IReturn<bool>
{
public int AddressId { get; set; }
}
Но для этого, чтобы быть должным образом обеспечить я хочу проверить, либо роли администратора, разрешение на ManageAllAddresses или что AddressID связано для этого пользователя (возможно, в сеансе, возможно, через вызов db).
Как мне лучше всего поступить?
Предложение
Является ли следующий код хорошая практика, и если да, то как бы я это осуществить? рекомендация
[RequiredRole("Admin")]
[RequiredPermission("ManageAllAddresses ")]
[RequiredAddressLinkedToAccount]
public class DeleteAddress : IReturn<bool>
{
public int AddressId { get; set; }
}
thx для указателя на устаревшие документы в вики, мы обновим их до соответствия – mythz