ASP.NET MVC Windows使用扩展属性进行身份验证

时间:2017-02-14 18:48:13

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

我需要专家的帮助!

我编写了ASP.NET MVC 4 Intranet应用程序。我使用Windows身份验证,域名通过User.Identity.Name.我有一个配置数据上下文的数据库,其中有关用户的更完整信息:姓氏,名字,电子邮件等。以及列表用户访问组。

需要确保用户打开程序,从数据库接收到所需的访问权限,他的名字出现在页面的右上角。

现在我已经意识到使用OWIN Asp.Net Identity。我创建了一个继承其他控制器的基本控制器,它为用户和他的SignIn命令 CurrentUser 方法:

protected ApplicationUser CurrentUser
{
    get
    {
        var curUser = AppUserManager.FindByName(User.Identity.Name);
        if (curUser != null)
            SignInManager.SignIn(curUser, true, true);
        else
            curUser = new ApplicationUser();

        return curUser;
    }
}

protected ApplicationSignInManager SignInManager
{
    get
    {
        return HttpContext.GetOwinContext().Get<ApplicationSignInManager>();
    }
}

据我所知,这些操作是不必要的,当你每次需要拖入数据库时​​刷新页面,用户接收并制作SignIn,这是不必要的。

我确信你可以在不使用Asp.Net Identity的情况下实现所有目标。例如,通过展开IPrincipal User,将他添加到字段名称,这在显示页面时需要,并在数据库中添加一次Roles并将所有内容保存在Cookie中。

请帮帮我!抱歉我的英语不好......

0 个答案:

没有答案