Обновление проекта WCF и внедрение безопасности - PullRequest
0 голосов
/ 29 сентября 2018

Мне было поручено обновить устаревший WCF и угловой проект, написанный давно фрилансером, и добавить к нему аутентификацию и авторизацию.Я совершенно новичок в проекте, и я был в ужасе, когда увидел код.

К сожалению, я не могу поделиться кодом, но могу сказать вам, что:

  1. Клиент-side - это приложение SPA angularjs.
  2. Проект довольно мал.
  3. Нет ORM - только запросы SQL (хранимая процедура).
  4. База данных - SQL Server.
  5. Схема базы данных «Пользователи, роли и т. Д.» Была определена фрилансером и не была построена каким-либо инструментом (например, членством в Microsoft) и без учета каких-либо обычных схем таблиц пользователей.Таблица пользователя содержит имя пользователя, адрес электронной почты, пароль и множество других столбцов данных приложения.
  6. Большинство столбцов таблицы базы данных зашифровываются / дешифруются сервером перед записью или чтением в / из базы данных.Он написал службу шифрования.
  7. Пароль был зашифрован симметричным шифрованием (и только один раз).
  8. Данные, отправляемые на сервер, шифруются клиентом и дешифруются сервером и стихами.,Сервер всегда получает и возвращает строки (я думаю, он не доверял HTTPS).Существует 2 шифрования - одно между клиентом и сервером, а другое между сервером и базой данных.
  9. Сервер всегда возвращает статус 200, даже в случае сбоя.Тип возвращаемого значения всегда должен быть объектом типа {success, resultObj} - это то, что ожидал клиент.
  10. Эта система работает на производстве с работающими пользователями, поэтому изменение схемы также приведет к изменению схемы на производстве.
  11. Сервер WCF пока только обслуживает запросы сайтов, но может понадобиться и для обслуживания других приложений в ближайшем будущем
  12. К счастью, бизнес-логика хорошо организована в сервисах, и в коде нет кода.Контроллеры WCF, за исключением функций вызывающих служб.
  13. Существует отдельный проект для службы WCF и еще один для приложения angularjs
  14. Нет авторизации или аутентификации вообще !!!Вход в систему ничего не делает (без cookie, без сеанса, без токена - нет ничего).

Требования:

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

Я знаю, что это много для обработки, и я готов поделиться всеми необходимыми данными (кроме кода).Я много читал о Asp.Net Identity и Identity Server и Web API Security и MVC Security, но я действительно не знаю, куда идти.

Вопросы:

  1. Яподумывает о том, чтобы убить проект WCF Service и открыть новый проект, куда я перенесу всю свою бизнес-логику.Я не уверен, нужно ли мне создавать приложение MVC или веб-API.Мой клиент - приложение angularjs spa.Если мне не нужны бритвенные виды, следует ли мне использовать веб-API?
  2. Могу ли я реализовать Identity Server в базе данных с нестандартной схемой без структуры сущностей?Рекомендовано ли это?
  3. Я понял, что Identity Server не используется для аутентификации и авторизации запроса, если да, что я должен использовать поверх него?

Если у вас есть какие-либомысли, конкретные статьи или любые наводящие вопросы, я действительно буду очень признателен за помощь.

...