Как разрешить авторизацию для RSS-канала с помощью ASP.NET MVC?

StackOverflow https://stackoverflow.com/questions/293878

  •  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) его поддерживают.

Извините, у меня нет полного ответа, но я подумал, что это все равно может помочь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top