Веб-сайт, который я разрабатываю, имеет страницу входа. Это не логин пользователя, а бизнес логин. Они должны войти в систему с бизнес-идентификатором с двумя полями (идентификационный номер и пароль). У меня есть все сущности и бизнес-объекты SQL Server в проекте библиотеки классов. Я пытаюсь выполнить аутентификацию на основе этих входных данных в Web API, и это мой код:
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
{
context.OwinContext.Response.Headers.Add("Access-Control-Allow-
Origin", new[] { "*" });
var identity = new ClaimsIdentity(context.Options.AuthenticationType);
var items = new CoreObj().GetRegistrations(context.UserName);
if (items != null && items.Count == 1)
{
var registration = CoreObj.Get(items[0].ID);
if (registration.Renewal_Info.Pin.ToString() == context.Password)
{
identity.AddClaim(new Claim(ClaimTypes.Role, "LoggedUser"));
identity.AddClaim(new Claim("username", context.UserName));
identity.AddClaim(new Claim(ClaimTypes.Name, registration.Name ));
context.Validated(identity);
}
}
else
{
context.SetError("invalid_grant", "Provided username and password is incorrect");
return;
}
}
Эта строка кода входит в библиотеку классов и выдает ошибку, подобную потоку, в настоящее время выполняется синхронно, и она не может установить соединение и сделать запрос через класс сущности.
var items = new CoreObj().GetRegistrations(context.UserName);
Могу ли я получить помощь здесь?