我在我的mvc5应用程序中使用外部登录提供程序。在我的控制器中,我可以使用下面的内容来检查是否有任何外部登录信息
await AuthenticationManager.GetExternalLoginInfoAsync();
如何在剃须刀视图中使用此功能来检查外部登录信息是否存在。 我在下面使用
if (HttpContext.Current.GetOwinContext()==null)
{
...............
}
这似乎有效,但
注销后,HttpContext.Current.GetOwinContext()
仍然不为空 我需要在ExternalLogInConfirmation页面中显示/隐藏一些信息
答案 0 :(得分:0)
我为此
创建了一个扩展方法namespace MyApp.ExtensionMethods
{
public static class Extentions
{
public static bool IsExternalLogInfoExists(this IPrincipal principal)
{
return HttpContext.Current.GetOwinContext().
Authentication.GetExternalLoginInfo()==null?false:true;
}
}
}
然后在我看来
if (!User.IsExternalLogInfoExists())
{
//show/hide any thing
}
当然,最重要的是你需要添加命名空间。在我的情况下
@using MyApp.ExtensionMethods;