Я реализую конечную точку OData в приложении ASP.NET и сейчас работаю над частью аутентификации. Я посмотрел пример на http://odata.github.io/WebApi/05-01-basic-auth/ для реализации базовой HTTP-аутентификации. Однако этот пример кажется мне очень странным, хотя в статье создается впечатление, что именно так вы реализуете общую пользовательскую аутентификацию в RESTful API.
e.g.:
Он реализует аутентификацию на этапе конвейера, где вы должны реализовать авторизацию. Насколько я понимаю, когда вызывается OnAuthorization, у вас уже должен быть установлен субъект, и единственное, что осталось сделать, это проверить, имеет ли субъект достаточный доступ для выполнения запрошенного действия.
Что происходит с этим вызовом IsAuthorized? Разве это не должен быть метод без побочных эффектов?
Поэтому я в основном хотел бы проверить у кого-то, кто более знаком с веб-API ASP.NET, чтобы подтвердить, является ли это а) правильным способом делать что-то б) хакерским, но безопасным способом делать что-то или в) чем-то опасным, что никогда не должно присутствовать в производственном коде.