Мне интересно, как ограничить доступ к определенным свойствам модели в контроллере OData на основе ролей пользователей.Ограничение доступа к свойству Model из ODataController
См., Например, У меня есть класс с именем пользователей, как показано ниже:
Public class Users
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string SSN { get; set; }
}
И у меня есть ODataController называется UsersODataController, как показано ниже:
[EnableQuery]
public IQuerable<Users> GetUsersOData()
{
return db.Users.AsQueryable();
}
Как я могу сделать метод GetUsersOData вернуть SSN собственность только при доступе пользователей админ? Я смог реализовать фильтр $ и $ select функциональность в регулярном MVC-контроллере и вернуть свойство SSN только для пользователей Admin. Тем не менее, , когда я запрашиваю urata odata (например, http://localhost/UsersApplication/odata/UsersOData), я получаю все свойства, включая SSN. Можно ли применить логику фильтра в самом UserODataController, чтобы URL-адрес одаты возвращал свойство SSN только для пользователей-администраторов?