Нужно ли расширять ASP.NET Security для публичного сайта? - PullRequest
2 голосов
/ 10 сентября 2010

У меня есть сайт ASP.NET MVC с приложением для администрирования частного сайта, защищенным с помощью sql-авторизации ASP.NET.Мне нужно добавить логин для общедоступного сайта, чтобы позволить посетителям зарегистрировать учетную запись.

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

Ответы [ 3 ]

1 голос
/ 10 сентября 2010

Да, есть. Вы можете изолировать частную базу данных от публичной базы данных. Создайте 2 учетные записи пользователей базы данных, убедитесь, что у них есть доступ только к 1 необходимой базе данных. Публичные и частные приложения будут использовать разные учетные записи. Затем заблокируйте учетные записи базы данных, чтобы убедиться, что у них есть только те права, которые необходимы для работы веб-приложения. (Я не уверен, какую базу данных вы используете. Если вы используете ms-sql, убедитесь, что у них нет доступа к xp_cmdshell, если вы используете mysql, убедитесь, что у учетной записи нет привилегий FILE. Есть и другие соображения но это выходит за рамки этого вопроса.)

Если в общедоступной части вашего сайта будет обнаружена уязвимость SQL-инъекции, они смогут получить доступ к этой единой базе данных, оставив ваш частный сайт незатронутым атакой.

0 голосов
/ 10 сентября 2010

Будет ли у вас когда-нибудь пользователь с несколькими ролями? Не могли бы вы в конечном итоге хранить одного и того же пользователя в более чем одной базе данных? Если так, я бы держал ваших пользователей в единой БД.

0 голосов
/ 10 сентября 2010

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

НТН.

...