Я использую провайдера OpenIdConnect с Owin/Katana для аутентификации в моем приложении asp.net mvc. OpenIdConnect Обеспечивает проверку подлинности пользователей Active Directory. Я хотел сделать простую проверку авторизации после аутентификации пользователя и перенаправления пользователя на другое представление.Перенаправить пользователя после аутентификации с помощью OpenIdConnect в ASP.Net MVC
app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions()
{
Authority = "url",
Scope="scopes",
ResponseType = "response",
ClientId = "clientid",
SignInAsAuthenticationType = "Cookies",
Notifications = new OpenIdConnectAuthenticationNotifications()
{
SecurityTokenValidated = (context) =>
{
var identity = context.AuthenticationTicket.Identity;
var emailClaim = identity.Claims.Where(r => r.Type == ClaimTypes.Email).FirstOrDefault();
var user = dbContext.Users.Where(u=>u.Email==emailClaim.Value);
if (user != null)
{
//add user information to claims.
identity.AddClaim(new Claim(CustomClaimTypes.PersonId, user.Name.ToString()));
}
else
{
//redirect to a page
}
return Task.FromResult(0);
}
}
});
Как перенаправить пользователя, если его нет в моей базе данных.
Я, наконец, смог достичь этого, используя специальный атрибут Authorize. – user3731783
Не могли бы вы ответить на свой вопрос, немного более подробно, и отметить его как ответ? – pashute
Уверенный и только что отправил мой ответ @pashute. Спасибо – user3731783