ASP.NET MVC Подключение к DSN с ограниченным доступом - PullRequest
0 голосов
/ 31 октября 2018

У меня есть база данных, к которой у меня очень ограниченный доступ. Мне нужно получить некоторые данные из VIEW из базы данных. У меня есть общая учетная запись Windows, и я могу войти в систему только в том случае, если я нажму Shift + клик на Sql Server Studio, открою от имени другого пользователя и использую аутентификацию Windows по умолчанию (аутентификация на сервере Sql не работает). Я создал несколько DNS, но я могу войти только с аутентификацией Windows NT по умолчанию и SQL Server. Проблема в том, что при использовании Windows NT я получаю сообщение об ошибке:

[Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Ошибка входа пользователя "DOMAIN \ SERVERNAME. ОШИБКА [28000]

Мой код:

try
    {
        OdbcConnection cn;
        OdbcCommand cmd;
        string MyString;
        MyString = "Select * from users";
        cn = new OdbcConnection("dsn=DB77;UID=****;PWD=****;");
        cmd = new OdbcCommand(MyString, cn);
        cn.Open();
        cn.Close();
        }
    catch(Exception e)
    {
        return e.ToString();
    }

Я хочу использовать аутентификацию Windows для получения данных из БД. Что-то не так в коде, администраторе источника данных ODBC, IIS?

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

nHibernate не имеет ничего общего с аутентификацией Windows. SQL-сервер будет использовать вашу идентификацию процесса для аутентификации если настроен для использования проверки подлинности Windows. Это означает, что если ваше приложение является веб-приложением, вам необходимо Приложение работает под удостоверением Windows, которое может быть аутентифицировано SQL Server. И, к сожалению, невозможно предоставить учетные данные Windows через строку подключения к базе данных. Пример строки подключения при использовании проверки подлинности Windows: Источник данных = myServerAddress; Начальный каталог = myDataBase; Интегрированная безопасность = SSPI; Олицетворение: http://msdn.microsoft.com/en-us/library/xh507fc5.aspx

0 голосов
/ 31 октября 2018

Я лично использую NHibernate с MVC. Первоначально я поднял его, потому что наша база данных не поддерживает EF, но наслаждаюсь им настолько, что даже если мы перейдем на SQL Server, я сохраню NHibernate.

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

Таким образом, для вашего случая NHibernate, вероятно, поддерживает вашу базу данных, может использоваться как простой слой доступа к данным (просто возвращая DTO), предоставляет независимый от базы данных интерфейс и может поддерживать SQL Server, когда придет время. Если вы в конечном итоге хотите получить больше от NHibernate, то он наступит, когда придет время.

...