![](/img/trans.png)
[英]Asp.Net Mvc 5 Azure Active Directory Get and save user profile image on server
[英]User claims Azure active Directory in asp.net mvc
我刚刚将我的网站设为天青,并且在用户声明方面遇到了一些麻烦。
我想从azure活动目录中特殊组的用户创建特殊访问权限,当我在本地主机上对网站进行编码时,我是这样进行的:
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseKentorOwinCookieSaver();
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
CookieSecure = CookieSecureOption.Always,
ExpireTimeSpan = System.TimeSpan.FromMinutes(15),
SlidingExpiration = true,
CookieHttpOnly = true
});
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri,
Notifications = new OpenIdConnectAuthenticationNotifications
{
AuthorizationCodeReceived = context =>
{
if(context.AuthenticationTicket.Identity.Claims.Any(x => x.Type == "groups" && x.Value == "587642-sff4-f4c0-8085-ssdfe45d87ed"))
{
context.AuthenticationTicket.Identity.AddClaim(new Claim("roles","Admin"));
}
else
{
context.AuthenticationTicket.Identity.AddClaim(new Claim("roles", "User"));
}
return Task.FromResult(0);
}
}
});
}
如果用户在组中,则他得到索赔“ Admin”,如果不在组中,那么他得到“ User”。
在localhost上,它运行良好,但现在我将其放到Azure上,它不再出现在“ Admin”声明中,而仅给出User声明...
有人可以向我解释问题的根源吗?
提前致谢 !
编辑 :我进行了一些测试,似乎该应用程序未在context.AuthenticationTicket.Identity.Claims
找到组或值(587642-sff4-f4c0-8085-ssdfe45d87ed)
尝试注销您的索赔,尤其是注销索赔中存在的组。 否则:您可以访问多个AAD租户吗? 当您进入云环境时,也许您选择了错误的租户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.