User.Identity.Is在asp.net core

时间:2016-05-17 15:11:39

标签: asp.net-identity asp.net-core-mvc

我在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();
            }
        }
    }
}

1 个答案:

答案 0 :(得分:3)

对于ASP.NET Core 1版本,您需要通过使用者将SignInManager注入控制器,并将其添加到私有signInManager字段。

private SignInManager<ApplicationUser> _signInManager;

构造

SignInManager<ApplicationUser> signInManager
_signInManager = signInManager;

然后,您可以使用signinmanager来检查身份验证:

_signInManager.IsSignedIn(User)