Должно ли приложение ASP.NET разрешать администраторам изменять подключение к SQL Server? - PullRequest
1 голос
/ 08 апреля 2010

Как следует из заголовка:

Как вы относитесь к тому, чтобы разрешить администраторам динамически обновлять строку подключения к SQL Server из приложения, а не просто показывать им данные подключения в приложении?

Потому чтосоединение с базой данных очень важно, и в интенсивно используемой системе резкое изменение соединения может вызвать проблемы.Однако я думаю, что отображение сервера и каталога и то, использует ли соединение SSPI или SQL Auth, может быть полезно для администраторов, которым не нравится играть с файлами конфигурации .NET.

Мысли?

Ответы [ 4 ]

2 голосов
/ 08 апреля 2010

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

Как правило, мне нравится обслуживать это внешнее устройство (файл конфигурации или даже в Active Directory, так что оно находится в централизованно управляемом ресурсе). У нас также обычно есть администраторы приложений (роли, обслуживание, одобрения, «администраторы», связанные с рабочим процессом), которые в техническом смысле не являются системными администраторами. И часто мы не допускаем системных администраторов как пользователей, менеджеров или администраторов в приложении. то есть у меня может быть системный администратор заказа на покупку, который может аннулировать заказ на покупку, но они не могут изменить соединение с базой данных, и у меня есть системный администратор, который не может даже создать или утвердить заказ на покупку, не говоря уже об аннулировании, но может изменить соединение с базой данных в конфигурации или в Active Directory в рамках обновления или миграции.

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

1 голос
/ 08 апреля 2010

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

Какой у вас сайт, где такие вещи могут понадобиться?

0 голосов
/ 08 апреля 2010

Лично я не люблю позволять администраторам менять НИЧЕГО на живом сайте.Все изменения конфигурации должны проходить через один и тот же процесс с управлением версиями, с отметкой времени, с пользовательской привязкой, с проверкой системы сборки, через который проходит исходный код.Только тогда вы сможете установить связи «это перестало работать во время X, потому что пользователь Y изменил конфигурацию A во время B».

Экстремальный взгляд на известную мне тему, но учитывая огромную долю времени простоя,можно проследить до ошибки оператора, которую я считаю оправданной, и я, честно говоря, не могу понять, насколько люди увлечены возможностью редактировать хрупкие XML-файлы на живых серверах, где одно дополнительное «>» может привести к остановке всего сайта.

0 голосов
/ 08 апреля 2010

Требуется, чтобы ваше приложение работало с полным доверием, в противном случае оно просто использует пространство имен System.Web.Configuration:

http://www.beansoftware.com/ASP.NET-Tutorials/Modify-Web.Config-Run-Time.aspx

При любых изменениях в файле web.config приложение будет перезагружаться, поэтому вы не захотите делать это в середине дня, если продажи могут быть в процессе.

Кроме того, обычно аутентификация и авторизация зависят от базы данных. Поэтому, если вы не можете пройти аутентификацию и авторизацию, вы не сможете попасть на страницу администратора, чтобы изменить строку подключения! (Если в вашей авторизации и аутентификации нет ничего, что касалось бы базы данных, по крайней мере, для страницы администратора, которую вы рассматривали)

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