Существуют следующие классы сущностей.
public class User : IEntity
{
public int Id { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string Fullname { get; set; }
public virtual ICollection<Role> Roles { get; set; }
public virtual ICollection<Call> Calls { get; set; }
}
public class Role : IEntity
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<User> Users { get; set; }
}
public class Contact : IEntity
{
public int Id { get; set; }
public string Phone { get; set; }
public string CallReason { get; set; }
public string CallResult { get; set; }
public DateTime? Date { get; set; }
}
Я написал необходимые коды и, используя postsharp, могу предотвратить несанкционированный доступ к методам на сервисном уровне. Например:
[AuthorizationAspect("Admin")]
public void Update(Contact contact) =>
_postDal.Update(contact);
Например, я хочу, чтобы кто-то с ролью пользователя не имел полномочий на свидание только в классе контактов. Таким образом, только администратор может изменить поле даты. Поэтому я хочу авторизоваться не по функции, а по свойству. Это имеет лучшую практику? Библиотека, которую я могу использовать? Или я должен сделать это вручную?