Ответ на первый вопрос: вы должны обеспечить подключение к SSL. Если вы этого не сделаете, вы не должны передавать полную конфиденциальную информацию. Если вы используете SSL, может возникнуть необходимость отображать конфиденциальные данные в DOM. Как бы то ни было, не путайте это с попыткой использовать DOM для обфускации конфиденциальных данных, скрывая его в атрибуте, например.
Ответ на второй вопрос заключается в использовании аутентификации и авторизации, встроенных в ASP.NET. И это будет только ограниченный обзор, потому что это одна из самых больших областей ASP.NET.
Необходимо понять, что ответ запроса ASP.NET является конвейером, запросы будут распространяться через объекты, называемые промежуточным программным обеспечением. Средство промежуточного программного обеспечения может изменять запросы на пути, если они закодированы для этого, тогда они могут изменять ответ и останавливать транзит запроса по конвейеру. Затем ответ будет возвращаться через посредство, через которое он прошел (в обратном порядке), и, наконец, будет отправлен обратно пользователю, см. рис. 1.
фигура 1
Большинство (если не все) люди будут ставить аутентификацию и авторизацию в ППО. Аутентификация говорит, вы тот, кого вы говорите, обычно с помощью комбинации имени пользователя и пароля. Авторизация говорит, что если этот человек является тем, кем они говорят, они разрешают доступ к запрошенным ресурсам.
Вы можете использовать аутентификацию cookie, аутентификацию токена или аутентификацию файлов cookie и токенов. Cookie и токены используются для хранения бит о пользователе, эти биты проверяются каждый раз, когда пользователь получает доступ к конечной точке API (или серверному ресурсу). Печеньки и жетоны - это способ сохранить тот факт, что этот человек, кто они такие.
Вы можете использовать ASP.NET атрибуты для ограничения доступа к ресурсам:
[Authorize]
public class SecretController
{
}
Если вы хотите посмотреть на более сложные проверки подлинности и авторизации инструментов, IdentityServer, кажется, де-факто решение «предприятие».
Я говорю о предприятии, потому что вы можете легко развернуть его в своих небольших приложениях, но это немного похоже на удар ноготь с кувалдой.
Это тоже ** слишком широкое ** и ** offtopic ** для SO.Вы должны задать вопросы безопасности в сообществе информационной безопасности –
Ответ на первый вопрос: не следует хранить конфиденциальные данные в DOM, поэтому вы должны решить этот вопрос. Ответ на второй вопрос заключается в использовании аутентификации и авторизации, встроенных в ASP.NET. –
. Я не храню конфиденциальную информацию, такую как пароль. Когда пользователь (любой пользователь) посещает определенную страницу, на веб-сайт вызывается ajax-вызов API генерирует идентификатор, который я храню в DOM, чтобы хранить дополнительные данные против этого идентификатора. –