Как обезопасить многопользовательское приложение ASP .NET WebAPI 2.0? - PullRequest
0 голосов
/ 05 июля 2018

Моя задача - создать многопользовательский сервер ASP .NET WebAPI (в дальнейшем SERVER), который будет предоставлять свои маршруты нескольким клиентским приложениям SPA (в дальнейшем APPS).

Допустим, есть маршрут '/ api / tasks' (далее ROUTE) и список авторизованных приложений на стороне сервера. Список содержит APP A и APP B. Оба APP являются JS SPA.

С учетом сказанного, ограничения следующие:

  1. Когда APP A вызовет МАРШРУТ, оно вернет только доступные ресурсы для APP A.
  2. Когда APP B вызовет МАРШРУТ, оно вернет только доступные ресурсы для APP B.
  3. Когда незарегистрированное приложение C вызовет МАРШРУТ, оно получит ответ 403.
  4. Конечно, APP A не может получить доступ к ресурсам APP B.

Другими словами, когда ресурсы предназначены для использования в приложении А, то есть, скажем, на веб-сайте, невозможно получить доступ к ним с любого другого веб-сайта (или приложения). Речь идет не о авторизации на основе ролей или какой-либо другой аутентификации. Речь идет о веб-сайте, имеющем доступ к определенной части данных, просто являясь конкретным, конкретным веб-сайтом.

Другое ограничение заключается в том, что APP должен быть только JS SPA на стороне клиента или иметь как можно меньше реализаций на стороне сервера. Рендеринг на стороне сервера, к сожалению, не тот случай.

Я нашел несколько сценариев для подобных случаев в Интернете, но ни один из них, кажется, не отвечает этим требованиям.

Мне нужен хотя бы намек или общее руководство о том, как мне подходить к этой проблеме.

1 Ответ

0 голосов
/ 05 июля 2018

Я думаю, что вы находите мало информации, потому что это не очень хороший способ решить проблемы. Из того, что я могу сказать, вы хотите определить разрешения по устройству или экземпляру установки? Что происходит, когда это устройство теряется и обнаруживается кем-то, у кого нет доступа, или кто-то оставляет свой ноутбук без присмотра в течение определенного периода времени?

Вам необходимо убедиться, что лицо, использующее приложение, должно иметь доступ, способ сделать это - аутентификация на основе учетных записей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...