SqlException: сбой входа для пользователя 'xx \ yy' во вновь созданном приложении ASP.NET Core 2.2 - PullRequest
0 голосов
/ 21 мая 2019

Я создал новое приложение ASP.NET Core 2.2 MVC с помощью мастера Visual Studio 2017 (15.9.7).Я указал опцию «Индивидуальные учетные записи» для аутентификации.

После этого единственное, что я добавил в шаблон по умолчанию, это метод services.AddAuthentication().AddGoogle в Startup.ConfigureServices.

Запуск приложения (та же проблема приKestrel и IISExpress), я получаю это исключение, когда авторизация Google завершена:

Произошло необработанное исключение при обработке запроса.SqlException: сбой входа для пользователя 'xx \ yy'.System.Data.SqlClient.SqlInternalConnectionTds..ctor (удостоверение DbConnectionPoolIdentity, SqlConnectionString connectionOptions, учетные данные SqlCredential, поставщик providerInfo, строка newPassword, SecureString newSecurePassword, bool redirected *OgnateOgnateOringSigning_OringSigning_OringSigning_Offing_ObidSignSignSignSignSignSignSirectid).Мой appsettings.json такой же, каким он был создан мастером:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-WebApplicationNetCore2-7F2E7A20-8AE2-4AB3-833A-256AC218C69E;Trusted_Connection=True;MultipleActiveResultSets=true"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

Нашел в Google десятки решений, но ни одно из них не помогло мне.

Я попытался установить Trusted_Connection = False,при запуске Update-Database в консоли Nuget, но возникает та же ошибка.

Найдены предложения по запуску context.Database.EnsureCreated в методе Initialize ( ASP.Net Core: невозможно открыть localdb, запрошенную при входе в систему ) но у меня даже нет этого метода в моем классе запуска.

Я также обнаружил, что файл "aspnet-WebApplicationNetCore2-7F2E7A20-8AE2-4AB3-833A-256AC218C69E *. *" не существует нигдеундer C: \ Дерево пользователей.Означает ли это, что мастер вообще не создал базу данных?Даже не пробовал?Или попытался, но не получилось?Не уверен, как это определить.

1 Ответ

0 голосов
/ 21 мая 2019

Я использую идентификацию для своего проекта.Строки / блоки, включающие AppIdentity, включают:

  • В ConfigureServices ():
services.AddDbContext<AppIdentityDbContext>
     (options => options.UseSqlServer(
          Configuration["Data:Identity:ConnectionString"]    
     )); // could use raw connection string here. This just references appsetting.json

services.AddIdentity<IdentityUser, IdentityRole>(
     opts =>
     {
          opts.Password.RequiredLength = 4;
          opts.Password.RequireDigit = false;
          opts.Password.RequireUppercase = false;
          opts.Password.RequireNonAlphanumeric = false;
     })
     .AddEntityFrameworkStores<AppIdentityDbContext>();

// unsure, but these might be necessary
services.AddMemoryCache();
services.AddSession();
  • В Configure ():
app.UseSession(); // only use if session and memory cache are indeed necessary
app.UseIdentity(); // I get a warning to use UseAuthentication(), because this will be replaced in the future, but it works for now

Я не уверен, что это то, что вам нужно, но я надеюсь, что это поможет.Удачи!

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