我在startup.auth.cs文件中实现了UseOpenIdConnectAuthentication以启用AAD身份验证,并且我在以下代码中成功登录后检索用户身份:
private ClaimsIdentity GetIdentity(IPrincipal user)
{
if (user == null)
{
return null;
}
if (user is ClaimsPrincipal)
{
return ((ClaimsIdentity)(user as ClaimsPrincipal).Identity);
}
return ((ClaimsIdentity)(user.Identity));
}
当我在azure上发布我的网站并在azure门户网站上启用app身份验证时,(而不是使用UseOpenIdConnectAuthentication代码),身份验证似乎工作正常。但是现在当我在本地运行我的应用程序时,我已经删除了身份验证代码,我无法检索任何用户声明。是否有任何工作可以在本地运行我的应用程序并检索这些声明?
答案 0 :(得分:0)
是否有任何工作可以在本地运行我的应用程序并检索这些声明?
Easy Auth(Azure功能的身份验证/授权)和OWIN组件都为您的Web应用程序提供身份验证。如果您不同时使用它们,那么您需要自己为Web应用程序补充身份验证。否则,您无法检索到任何声明。
有关Easy Auth功能的更多详细信息,您可以参考cgillum的blogs。
如果您的意思是要在不使用Azure AD的情况下构建声明应用程序,则可以参考文档How To: Build Claims-Aware ASP.NET Application Using Forms-Based Authentication。