Сеанс ошибка аутентификации nt authority iusr

   Radion

20.04.22 — 16:10

Установил IIS на windows server 2019, опубликовал базу на веб сервере. При подключении по ссылке, открывается окно логин/пароль ввожу параметры пользователя, но не могу авторизоваться. Что мог упустить при настройки? Прошу помочь, кто сталкивался с такой проблемой?

   asady

1 — 20.04.22 — 16:12

(0) смотри

журнал регистрации 1С,

лог вэб сервера

   Radion

2 — 20.04.22 — 16:18

Ошибка авторизации 401.5

   asady

3 — 20.04.22 — 16:20

(2) в ЖР 1С что записано??

   Radion

4 — 20.04.22 — 16:25

(3) Пользователь ОС: NT AUTHORITYIUSR

   Смотрящий

5 — 20.04.22 — 16:26

   Radion

6 — 20.04.22 — 16:32

(5) да я уже пробовал, и так и так. и с авторизацией и без.

   Radion

7 — 20.04.22 — 16:33

если ставить галку ошибка 401.2

   asady

8 — 20.04.22 — 16:37

(0) https://forum.1c.ru/money/topic/5187?anonymous_check_made=1

2. Устанавливаем IIS (по умолчанию не был установлен). При этом обращаем внимание на то что бы были обязательно выбраны компоненты «Расширения ISAPI» и «Консоль управления IIS»

3. Группе IUSR добавляем права на папку с установленной базой 1С.

4. Запускаем 1С «от имени адинистратора», настраиваем синхронизацию через домшнюю сеть и публикуем базу 1С. (Публикацию можно сделать и через Конфигуратор как описано выше)

5. Заходим в консоль управления IIS. Для «DefaultAppPool» в дополнительных параметрах для «Разрешены 32-разрядные приложения» устанавливаем значение «TRUE».

6. На всякиий случай престартовываем IIS.

   Radion

9 — 20.04.22 — 17:42

Все уже, что можно вроде проверил. Единственно, подскажите во всех ссылках по настройкам веб сервиса установлена расширяемость версия 3.5, у меня же сисадмин установил как версию 3.5 так и версию 4.7.

https://filuetru-my.sharepoint.com/:i:/g/personal/radna_banzaraktsaev_filuet_ru/EXZv9NOVJLNGiiqTWI-G2fsBglmGmuKSqTpFqvFpd0rYCA?e=9lQ6U6

   Radion

10 — 20.04.22 — 17:42

(9) Это как может влиять на настройки доступа?

   dreizehn

11 — 20.04.22 — 21:29

Включи на уровне приложения в IIS анонимный доступ. Авторизацией занимается 1С

   Radion

12 — 21.04.22 — 16:01

(11) Включил, вроде. В меню Authentication — Anonymous authentication — Enable. Что еще может быть? При подключении спрашивает логин и пароль, но при вводе не пускает(

   Anchorite

13 — 21.04.22 — 16:19

(12) Когда вы это включили? Сразу же или только сейчас? Судя по этому сообщению: (4) — у вас уже тогда была включена анонимная авторизация, потому что NT AUTHORITYIUSR — это как раз и есть анонимный дефолтный анонимный аккаунт IIS. Что-то у вас там сильно напутано, вы бы сбросили всё на дефолтные настройки, а потом по новой с нуля выполнили публикацию.

   Anchorite

14 — 21.04.22 — 16:28

Проверьте ещё, нигде ли у вас не задействована модель доступа «ASP.NET impersonation» — при её использовании тоже иногда случается зацикливание на учётной записи «NT AUTHORITYIUSR»

   Anchorite

15 — 21.04.22 — 16:36

   Anchorite

16 — 21.04.22 — 16:37

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

   Radion

17 — 21.04.22 — 17:16

(16) Спасибо, пробую переустановить web server. Обязательно отпишусь.

   Radion

18 — 22.04.22 — 14:22

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

Настраивал по: https://infostart.ru/1c/articles/275820/?ID=275820

  

Radion

19 — 22.04.22 — 14:22

Всем спасибо, за помощь.

мой ASP.NET v3.5 веб-приложение создает следующее исключение при попытке открыть соединение с базой данных SQL Server 2008:

система.Данные.В sqlclient.Sqlexception в:
Не удается открыть базу данных «MyDbName»
запрошено логином. Вход
неудачный. Ошибка входа для пользователя ‘ NT
ОРГАН ЗАПИСИ IUSR’.

дело в том, что я добавил NT AUTHORITYIUSR в список логинов сервера и в список пользователей базы данных. Для сервера, я предоставил пользователю публичную роль, а для базы данных я предоставил db_datareader разрешения.

Я также предоставил то же самое для NT AUTHORITYNETWORK SERVICE, под которым выполняется пул приложений.

веб-приложение размещается в IIS7, если это имеет значение. Проблема повторяется, когда БД и IIS находятся на одной физической машине.

7 ответов


фокус здесь в том, что NT AUTHORITYNETWORK SERVICE фактически отображается в базе данных как DOMAINNAMEMACHINENAME$ (обратите внимание на $ знак!). То есть, когда вы пересекаете границу машины с вашего веб-сервера на SQL Server, SQL Server видит учетную запись машины, если вы используете NETWORK SERVICE или LOCAL SYSTEM учетные записи. Если вы используете любую другую учетную запись, не являющуюся доменной, SQL Server не получит ваши учетные данные.

Я немного озадачен вашим сообщением об ошибке. По правде говоря, я не думаю, что когда DB находится на другой коробке, вы увидите все, кроме Login Failed for NT AUTHORITYANONYMOUS LOGON.

IUSR используется для анонимных веб-сайтов и не может пройти по проводу к SQL Server. Вы можете найти способ, чтобы это сработало, если вы делаете все на одной машине, но я никогда не узнаю, потому что я никогда не буду делать это таким образом… ;-)


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


У меня была такая же проблема, и я решил ее, изменив пул приложений.

1

автор: Roman Ostashevskyi


в случае, если это кому-то помогает, в интернете.config я добавил для этой ошибки, чтобы уйти (в разделе )


вместо Integrated Security=True; в строке подключения, просто используйте имя пользователя и пароль user=sa; pwd=mypassword;


простое решение-проверить свою сеть.файл config и убедитесь, что один из них является частью строки подключения к БД:

доверенное соединение=false

или

Интегрированная Безопасность=True


эта проблема отображается при восстановлении новой базы данных в последней базе данных.

чтобы решить эту проблему, вы должны перейти к sqlserver, затем security, а затем снова установить apppool.


  • Remove From My Forums
  • Question

  • hello everyone,

    i work with custom web part on VS2010 … and SQL 2008 R2 database when i add the web part in my page on sharepoint it keeps gave me this exception about login failed to this user ‘NT AUTHORITYIUSR’ ???

    Server Error in ‘/’ Application.
    ———————————————————————————

    Login failed for user ‘NT AUTHORITYIUSR’.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Login failed for user ‘NT AUTHORITYIUSR’.

Answers

    • Marked as answer by

      Wednesday, April 18, 2012 2:39 PM

    • Marked as answer by
      Margriet Bruggeman
      Wednesday, April 18, 2012 2:40 PM
  • Remove From My Forums
  • Question

  • hello everyone,

    i work with custom web part on VS2010 … and SQL 2008 R2 database when i add the web part in my page on sharepoint it keeps gave me this exception about login failed to this user ‘NT AUTHORITYIUSR’ ???

    Server Error in ‘/’ Application.
    ———————————————————————————

    Login failed for user ‘NT AUTHORITYIUSR’.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Login failed for user ‘NT AUTHORITYIUSR’.

Answers

    • Marked as answer by

      Wednesday, April 18, 2012 2:39 PM

    • Marked as answer by
      Margriet Bruggeman
      Wednesday, April 18, 2012 2:40 PM

It’s important to note that you’ll get this error, as I just did, if you don’t have IIS configured to allow impersonation, but you do have your web.config attempting to do impersonation.

I just came across this exact error, and all of the following steps are required:

  1. Ensure ASP.NET impersonation is enabled on your IIS web server:enter image description here

  2. Combine that with configuring your site to use impersonation (web.config):

    <system.web>
        <identity impersonate="true" userName="your_service_acct" password="***" />
    </system.web>
    
  3. The above steps presume that you have a SQL Login setup on your MSSQL for ‘your_service_acct’ with permissions

When running on localhost, against a localdb, or even a remote db that you personally have permissions on, the development IIS runs as if it were YOU — and everything just magically works. So, in debug mode, you don’t need to create a special web.config..

As soon as you deploy your site onto some kind of server (in my case, our TEST environment) you’ll likely need to have done the above steps I just detailed, because IIS will try to connect as the application pool user, which is not usually what you want administratively speaking. So, that’s when you want to start using web.config transformations, so Visual Studio will insert the appropriate identity impersonate="true" during your ‘Publish…’ deployment step.

Важно отметить, что вы получите эту ошибку, как и я, если у вас не настроен IIS для разрешения олицетворения, но ваш web.config пытается выполнить олицетворение.

Я только что столкнулся с этой точной ошибкой, и требуются все следующие шаги (но я пропустил первый шаг:

1.) Убедитесь, что олицетворение ASP.NET включено на вашем веб-сервере IIS:Введите описание изображения здесь

2.) Объедините это с настройкой вашего сайта для использования олицетворения (web.config):

   <system.web>
     <identity impersonate="true" userName="your_service_acct" password="***" />

3.) Приведенные выше шаги предполагают, что у вас есть настройка входа в SQL на вашем MSSQL для «your_service_acct» с разрешениями.

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

Как только вы развернете свой сайт на каком-либо сервере (в моем случае, в нашей среде TEST), вам, вероятно, потребуется выполнить описанные выше шаги, которые я только что описал, потому что IIS попытается подключиться как пользователь пула приложений, который обычно не то, что вы хотите с административной точки зрения. Итак, вот когда вы хотите начать использовать преобразования web.config, поэтому Visual Studio вставит соответствующий identity impersonate="true" на этапе развертывания «Опубликовать…».

  • Remove From My Forums
  • Question

  • Hi,

    I’ve created my custom database MyDatabase on the same server as SharePoint. When I try to access the database from a SharePoint page (a custom Master Page OnLoad event) I get the following error:

    Cannot open database «MyDatabase» requested by the login. The login failed.
    Login failed for user ‘NT AUTHORITYIUSR’.

    I’ve been looking for the IUSR user all around the server (SQL Server, IIS, Users and Groups etc) and I can’t find such an account. Could anybody explain me how to fix this problem and get access to my custom database?

    Thanks,
    Leszek

Answers

  • Thanks, this is what I did. I’m using a special account to access my database.

    Leszek

    • Marked as answer by

      Wednesday, June 29, 2011 2:26 PM

Premise

This was the error I got while trying to directly connect to a SQL Server database, from within a SharePoint web part, using the option, Windows Authentication.

Login failed for user ‘NT AuthorityIUSR’

Solution

The solution is to allow login for IUSR. Here are the steps to do it: –

1) Open Microsoft SQL Server Management Studio.
2) Under Security, right click the Logins leaf and select New Login.
3) In the Login Name, type in IUSR and hit the Search button.
4) This will open up a new window. Here also, type in IUSR in the object name and then, click on Check Names. Once, it has searched the name, click OK to close the window.
5) By default, you’ll be shown the name in the format, [machineName]IUSR. For example, in the following case, SERVERPIYUSH is my [machineName].

Adding Default Windows Authentication to SQL Server

6) Change the [machineName] to NT Authority. So now, the Login name will look like this, NT AuthorityIUSR

Adding NT Authority Windows Authentication to SQL Server

7) Now, select Server Roles from the top-left navigation pane and assign the role, sysadmin. Now, this totally depends upon your requirement. In my case, I needed this permission. If you don’t need the highest privilege then go for the ones that serve your purpose. By default, the role, public will be applied to it.

Adding sysadmin role to SQL Server login

8) Hit the OK button.

After allowing access to IUSR, I was now able to successfully connect to my SQL Server database using Windows Authentication through my code.

Key Takeaways

  • NT Authority, refers to the OS itself. It means that the OS will authorize some stuffs on your behalf.
  • Similarly, IUSR is nothing but a legacy account for allowing anonymous access. So, in totality, we can say, that NT AuthorityIUSR means that OS will grant anonymous access on my behalf with the roles I have explicitly specified for it.

It’s important to note that you’ll get this error, as I just did, if you don’t have IIS configured to allow impersonation, but you do have your web.config attempting to do impersonation.

I just came across this exact error, and all of the following steps are required:

  1. Ensure ASP.NET impersonation is enabled on your IIS web server:enter image description here

  2. Combine that with configuring your site to use impersonation (web.config):

    <system.web>
        <identity impersonate="true" userName="your_service_acct" password="***" />
    </system.web>
    
  3. The above steps presume that you have a SQL Login setup on your MSSQL for ‘your_service_acct’ with permissions

When running on localhost, against a localdb, or even a remote db that you personally have permissions on, the development IIS runs as if it were YOU — and everything just magically works. So, in debug mode, you don’t need to create a special web.config..

As soon as you deploy your site onto some kind of server (in my case, our TEST environment) you’ll likely need to have done the above steps I just detailed, because IIS will try to connect as the application pool user, which is not usually what you want administratively speaking. So, that’s when you want to start using web.config transformations, so Visual Studio will insert the appropriate identity impersonate="true" during your ‘Publish…’ deployment step.

I have an ASP.NET 4.0 application running on Windows 7 / IIS 7.5 in the «ASP.NET v4.0 Classic» application pool, which is configured to run as Network Service. The application has an Application_EndRequest handler which connects to a local SQL Server instance. The SQL connection string specifies Integrated Security=SSPI. Web.config does not have <identity impersonate="true" />.

When I browse to http://localhost/TestSite/, the following exception is thrown:

System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'NT AUTHORITYIUSR'.
   ...
   at System.Data.SqlClient.SqlConnection.Open()
   at Global.Application_EndRequest(Object sender, EventArgs e)

This exception is not thrown when I browse to http://localhost/TestSite/default.aspx (the default document configured in IIS) or any other .aspx page; in those cases the application correctly connects to SQL Server as «NT AUTHORITYNETWORK SERVICE», which is a valid login.

Why would ASP.NET impersonate «NT AUTHORITYIUSR» in EndRequest even though impersonation is disabled? Is this a bug in ASP.NET?

The following Global.asax.cs file demonstrates the problem:

public class Global : HttpApplication
{
    public Global()
    {
        this.BeginRequest += delegate { Log("BeginRequest"); };
        this.PreRequestHandlerExecute += delegate { Log("PreRequestHandlerExecute"); };
        this.PostRequestHandlerExecute += delegate { Log("PostRequestHandlerExecute"); };
        this.EndRequest += delegate { Log("EndRequest"); };
    }

    protected void Application_EndRequest(Object sender, EventArgs e)
    {
        try
        {
            using (SqlConnection connection = new SqlConnection("Server=.;Integrated Security=SSPI"))
            {
                connection.Open();
            }
        }
        catch (Exception ex)
        {
            Trace.WriteLine(ex);
        }
    }

    private static void Log(string eventName)
    {
        HttpContext context = HttpContext.Current;
        Type impersonationContextType = typeof(HttpContext).Assembly.GetType("System.Web.ImpersonationContext", true);
        Trace.WriteLine(string.Format("ThreadId={0} {1} {2} Impersonating={3}",
            Thread.CurrentThread.ManagedThreadId,
            context.Request.Url,
            eventName,
            impersonationContextType.InvokeMember("CurrentThreadTokenExists", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.GetProperty, null, context, null)));
    }
}

Here’s the trace output:

ThreadId=3 http://localhost/TestSite/ BeginRequest Impersonating=False
ThreadId=3 http://localhost/TestSite/ PreRequestHandlerExecute Impersonating=False
ThreadId=7 http://localhost/TestSite/default.aspx BeginRequest Impersonating=False
ThreadId=7 http://localhost/TestSite/default.aspx PreRequestHandlerExecute Impersonating=False
ThreadId=7 http://localhost/TestSite/default.aspx PostRequestHandlerExecute Impersonating=False
ThreadId=7 http://localhost/TestSite/default.aspx EndRequest Impersonating=False
ThreadId=7 http://localhost/TestSite/ PostRequestHandlerExecute Impersonating=True
ThreadId=7 http://localhost/TestSite/ EndRequest Impersonating=True
System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'NT AUTHORITYIUSR'.
   ...
   at System.Data.SqlClient.SqlConnection.Open()
   at Global.Application_EndRequest(Object sender, EventArgs e)

Note that a request to TestSite/ (which is mapped to DefaultHttpHandler) seems to spawn a nested request to TestSite/default.aspx (which is mapped to ASP.default_aspx). After ASP.NET finishes processing TestSite/default.aspx, it impersonates «NT AUTHORITYIUSR» when it resumes processing the request to TestSite/.

UPDATE: I’ve submitted this issue to Microsoft Connect.

  • Remove From My Forums
  • Question

  • Hi,

    I’ve created my custom database MyDatabase on the same server as SharePoint. When I try to access the database from a SharePoint page (a custom Master Page OnLoad event) I get the following error:

    Cannot open database «MyDatabase» requested by the login. The login failed.
    Login failed for user ‘NT AUTHORITYIUSR’.

    I’ve been looking for the IUSR user all around the server (SQL Server, IIS, Users and Groups etc) and I can’t find such an account. Could anybody explain me how to fix this problem and get access to my custom database?

    Thanks,
    Leszek

Answers

  • Thanks, this is what I did. I’m using a special account to access my database.

    Leszek

    • Marked as answer by

      Wednesday, June 29, 2011 2:26 PM

Понравилась статья? Поделить с друзьями:
  • Се 348780 ошибка на приставке пс4
  • Сдэк ошибка сервера
  • Сдэк ошибка 503
  • Сдэк ошибка 502
  • Секретный шпион лексическая ошибка или нет