Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC 5 OWIN认证_C#_Asp.net Mvc_Entity Framework_Asp.net Mvc 5_Owin - Fatal编程技术网

C# ASP.NET MVC 5 OWIN认证

C# ASP.NET MVC 5 OWIN认证,c#,asp.net-mvc,entity-framework,asp.net-mvc-5,owin,C#,Asp.net Mvc,Entity Framework,Asp.net Mvc 5,Owin,我刚刚开始了解MVC5,我正在尝试使用其内置的owin身份验证 我需要用IIS实现表单身份验证,但是OWIN身份验证比我等待的要复杂 我有一个az实体框架模型,它有自己的用户表、角色表和角色表,并希望通过这些表对用户进行身份验证 我试图弄明白owin是如何在一个示例MVC5应用程序上工作的。它有一个ApplicationUser类: public class ApplicationUser : IdentityUser { } public class ApplicationDbContext

我刚刚开始了解MVC5,我正在尝试使用其内置的owin身份验证

我需要用IIS实现表单身份验证,但是OWIN身份验证比我等待的要复杂

我有一个az实体框架模型,它有自己的用户表、角色表和角色表,并希望通过这些表对用户进行身份验证

我试图弄明白owin是如何在一个示例MVC5应用程序上工作的。它有一个ApplicationUser类:

public class ApplicationUser : IdentityUser
{
}

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection")
    {
    }
}
它建议为登录用户创建一个ClaimsIdentity类型的标识,并且用户属性必须实现IUser接口

大问题:owen建议在我的环境中使用吗?我想将我的用户类与owin身份验证一起使用,但我不知道如何使用


提前感谢您的帮助

我能想到的最好方法是让您的POCO类从IdentityUser派生。这样,您可以将POCO属性添加为新类的一部分。 在此之后,您可以实例化一个新的UserManager,例如:

UserManager um = new UserManager<YourPocoDerivedFromIdentityUser>(new UserStore<YourPocoDerivedFromIdentityUSer>(new ApplicationDbContext())
UserManager um=newusermanager(newuserstore(new ApplicationDbContext())
使用OWIN将允许您轻松集成第三方身份验证,如FB、Google。OWIN团队在将其与MVC集成方面做得非常好

但是,如果您当前的身份验证系统运行良好,我不明白您为什么希望升级

附言-


您可以在这里找到关于新身份系统的3章。它们是一本非常好的读物,我强烈推荐它们帮助您入门。

您可以放弃整个ASP.NET身份模型,使用自己的组件进行密码验证和角色/声明存储

成员资格/身份和表单身份验证是id和访问管理的两个不同功能。Microsoft文档没有很好地解释两者之间的区别。这篇文章简短而贴切地解释了这一点。这篇文章是在OWIN之前撰写的,但同样的原则也适用

UserManager um = new UserManager<YourPocoDerivedFromIdentityUser>(new UserStore<YourPocoDerivedFromIdentityUSer>(new ApplicationDbContext())