以前,我的mvc应用程序正在使用表单身份验证,但是由于客户端要求,我们已经声明要从客户端Azure Active Directory验证用户身份。 用户通过天蓝色广告进行身份验证后,我们会将登录代码转移到在天蓝色中注册的Redirect Uri方法。但是现在,当用户访问数据库中的更改时,我们遇到了问题,因为直到用户重新对其进行身份验证,更改才会反映出来。
是否有什么最佳方法可以解决此问题,或者只需要设置计时器即可访问数据库,以随机检查分配给用户的新角色。
我的配置如下:
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
ClientSecret = clientSecret,
Authority = authority,
RedirectUri = redirectUri,
PostLogoutRedirectUri = loginUri,
Scope = OpenIdConnectScope.OpenIdProfile,
ResponseType = OpenIdConnectResponseType.IdToken,
TokenValidationParameters = new TokenValidationParameters()
{
ValidateIssuer = true,
NameClaimType = System.IdentityModel.Claims.ClaimTypes.Email
},
Notifications = new OpenIdConnectAuthenticationNotifications
{
AuthenticationFailed = OnAuthenticationFailed
}
}
);