我在Visual Studio中使用默认的MVC 6模板。我需要检查用户是否在类中进行了身份验证。这应该很简单,但我无法弄清楚为什么它不起作用。 提前谢谢。
using Microsoft.AspNet.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Security.Claims;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using System.Security.Principal;
namespace fake.Classes
{
public class fakeUser
{
public static string getBrand()
{
if (User.Identity.IsAuthenticated)
{
return getThemeName();
}
}
}
}
答案 0 :(得分:3)
对于ASP.NET Core 1版本,您需要通过使用者将SignInManager注入控制器,并将其添加到私有signInManager字段。
private SignInManager<ApplicationUser> _signInManager;
构造
SignInManager<ApplicationUser> signInManager
_signInManager = signInManager;
然后,您可以使用signinmanager来检查身份验证:
_signInManager.IsSignedIn(User)