Я занимаюсь разработкой приложения в .net Core 2.1, где я применяю аутентификацию пользователей удостоверений aspnet.База данных находится на сервере, а моя программа в ядре .net находится на другом сервере с IIS.Моя программа работает правильно локально, но когда я развертываю ее на своем сервере и пытаюсь получить доступ к одному из моих методов для входа в систему, я получаю следующую ошибку:
Невозможно открыть базу данных "Auth", запрошеннуюавторизоваться.Ошибка входа в систему. Ошибка входа пользователя '[NAME-OF-SERVER-WITH-IIS]'.
Странная вещь в том, что в строке подключения я указал, что пользователь, к которому я подключалсябудет "sa".
Startup.cs - метод ConfigureServices
public void ConfigureServices(IServiceCollection services)
{
String con = "Data Source=<Servername>;Initial Catalog=Auth;Persist Security Info=True;User ID=sa;Password=<Password>;Trusted_Connection=True;MultipleActiveResultSets=true";
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(con,
b => b.MigrationsAssembly("Auth")));
...
}
AuthController.cs - метод входа
[HttpPost("Login")]
public async Task<IActionResult> Login([FromBody]CredentialsViewModel credentials)
{
try
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
var identity = await GetClaimsIdentity(credentials.UserName, credentials.Password);
if (identity == null)
return BadRequest(Errors.AddErrorToModelState("login_failure", "Invalid username or password.", ModelState));
var jwt = await Tokens.GenerateJwt(identity, jwtFactory, credentials.UserName, jwtOptions, new JsonSerializerSettings { Formatting = Formatting.Indented });
return new OkObjectResult(jwt);
}
catch (Exception e)
{
return new OkObjectResult(e.Message);
}
}