2

У меня есть довольно типичное приложение .NET, которое использует Entity Framework, MS SQL и IIS. Приложение было разработано с расчетом на то, что сервер SQL будет работать локально для IIS, и с проверкой подлинности SQL для подключения к базе данных. Пользователи будут входить в приложение через проверку подлинности Windows.

Недавно мне было поручено разделить веб-серверы и серверы SQL на два сервера; однако мне больше не разрешается использовать проверку подлинности SQL, но вместо этого она должна использовать проверку подлинности Windows.

Моя новая строка подключения теперь выглядит примерно так:

 <add name="MyDbConn2" connectionString="Initial Catalog=MyDb;Data Source=MyServer;Integrated Security=SSPI;"/>

,

Я являюсь моей локальной средой разработки, я попытался настроить пользователя AppPool для учетной записи службы (например, «домен \ пользователь») и установить <identity/> в web.config для использования того же пользователя AppPool, например, так:

<identity impersonate="true" userName="domain\User" password="****"/>

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

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

1 ответ1

0

Вы можете сделать это, изменив службу для запуска в качестве учетной записи сетевой службы, а затем дать разрешение для домена \ имя_компьютера $ в SQL Server.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .