SqlException: Вход в систему привел к сбою для пользователя 'УСЛУГИ NT AUTHORITY\NETWORK

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

sortBy = (keys, isReverse=false) => {

    this.setState(prevState => ({
        files: prevState.files.sort((a, b) => {
            const clonedKey = [...keys];
            let valueA = a;
            let valueB = b
            while(clonedKey.length > 0) {
                const key = clonedKey.shift();
                valueA = (valueA || {})[key];
                valueB = (valueB || {})[key];
            }
            valueA = valueA || '';
            valueB = valueB || '';
            if(isReverse) return valueB.localeCompare(valueA);

            return valueA.localeCompare(valueB);
        })
    }));
}
10
задан SourceC 18 May 2009 в 21:24
поделиться

4 ответа

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

Вы можете сделать все это в SSMS через раздел «Безопасность», справа нажмите «Логины» и выберите «Добавить». Вы добавите учетную запись Windows, затем вы сможете найти и подтвердить имя «СЕТЕВАЯ СЛУЖБА». Затем переключитесь в раздел «Сопоставление пользователей» и дайте разрешение на просмотр своей базы данных. Разрешения, как я уже сказал, зависят от вас, или вы можете назначить ему права dbowner для полного контроля.

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

19
ответ дан 3 December 2019 в 13:44
поделиться

Лично я бы запускал веб-приложение под собственной учетной записью службы. Если вы действительно хотите запустить его под сетевой службой - см. Этот документ MSDN .

9
ответ дан 3 December 2019 в 13:44
поделиться

Когда вы указали "Integrated security = sspi" в строке подключения, чем вы ожидаете, выдавая себя за другое лицо. Но для этого вам следует: 1. включить встроенную аутентификацию в IIS 2. включите Windows auth в asp.net: 3. включите имерпозицию в asp.net:

Также учтите, что недостаточно, если ваш веб-сервер и компьютер с SQL Server - разные машины. Тогда учетная запись ваших пользователей должна быть доверенна для делегирования. Это специальная опция в AD.

Итак, как вы уже сказали, лучше иметь отдельную учетную запись для соединений SQLSRV. Надеюсь, это поможет.

8
ответ дан 3 December 2019 в 13:44
поделиться

Я рекомендую создать учетную запись службы и запустить процесс IIS 7 под этой учетной записью. Убедитесь, что учетная запись имеет надлежащий доступ к БД (если она просто читает, то DB-REader) (если она читает и обновляет, то DB-Reader и DB-Writer).

3
ответ дан 3 December 2019 в 13:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: