Как разрешить авторизацию для RSS-канала с помощью ASP.NET MVC?
-
08-07-2019 - |
Вопрос
Наш магазин находится в процессе преобразования нашего внутреннего приложения для управления проектами с веб-форм ASP.NET на ASP.NET MVC.
Я хотел бы предоставить нашим клиентам RSS-канал об их текущих открытых проблемах...но я хотел бы сделать это с каким-либо типом авторизации, например.логин и пароль.
Возможно ли это с помощью ASP.NET MVC или это следует сделать с помощью какой-либо другой службы, например WCF?Пример кода будет очень признателен.
Решение
Я не уверен в лучшем способе, но могу вспомнить несколько, но ни один из них не является супер-отличным.
Используйте IIS WindowsAuthentication с базовой безопасностью и реализуйте метод проверки, а затем пометьте действие RSS фильтром авторизации.Если они используют RSS-канал, который не поддерживает HTTP-аутентификацию, вы все равно сможете это сделать. http://имя пользователя:пароль@mysite.com/controller/action/rss.
Создайте токен для каждого клиента и поместите его в часть URL-адреса: http://mysite.com/controller/action/rss/{токен}.Это не так уж здорово.
Поместите имя пользователя и пароль как часть маршрута: http://mysite.com/controller/action/rss/{имя пользователя Пароль} ...хотя это довольно ужасно.
Все они отстойные, потому что пароль (или токен) виден по URL.Возможно, это считается нормальным, если это https вместо http.Я думаю, что первый вариант + https довольно распространен?
Другие советы
Если частные каналы являются частью спецификации RSS, вам следует поискать механизм аутентификации RSS.
Я думал об этом раньше для проекта и пришел к выводу, что безопасный RSS никогда не будет работать, потому что недостаточно клиентов (например, google reader) его поддерживают.
Извините, у меня нет полного ответа, но я подумал, что это все равно может помочь.