在VS 2013 Spa AccountController上使用EF代码优先扩展IdentityUser



我和同学正在使用Web API作为我们的后端进行电话盖上应用程序。以前,我们使用MVC4模板上的旧成员功能有一个工作原型。

我们发现了一些关于如何在普通MVC控制器上扩展身份用户的好教程。我们设法将其工作起作用,但要转到VS 2013 Spa模板随附的API帐户控制器,我们尚未设法使其工作。为了简化我们的问题,基本上是我们想做的。

可以说我们有这样的电影课:

public class Movie
{
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ApplicationUser User { get; set; }
}

我已经创建了这样的应用程序器(取自带有单个帐户的VS 2013 MVC模板):

public class ApplicationUser : IdentityUser
{
    public string DisplayName { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection")
    {
    }
    public DbSet<Movie> Films { get; set; }
}

我在global.asax上的application_start中添加了此行:

Database.SetInitializer<ApplicationDbContext>(new AppDbInit());

AppDbinit类:

public class AppDbInit : DropCreateDatabaseAlways<ApplicationDbContext>
{
}

我在startup.auth.cs中更改了usermanagerfactory:

UserManagerFactory = () => new UserManager<ApplicationUser>(new UserStore<ApplicationUser>());
public static Func<UserManager<ApplicationUser>> UserManagerFactory { get; set; }

在accountController.cs文件中,我用ApplicationUser替换了IdentityUser的所有出现。完成此操作后,我开始使用Microsoft.aspnet.Identity.entityFramework中的类文件遇到错误,这些文件使用IdentityUser类,说它不能将IdentityUser转换为Applicationuser。这样的实体框架类之一是:

namespace Microsoft.AspNet.Identity.EntityFramework
{
public class IdentityUserLogin
{
    public IdentityUserLogin();
    public virtual string LoginProvider { get; set; }
    public virtual string ProviderKey { get; set; }
    public virtual IdentityUser User { get; set; }
    public virtual string UserId { get; set; }
}

}

我创建了自己的类applicationuserlogin,在其中将用户属性更改为类型应用程序的一个,也不起作用。

这就是我卡住的地方。我通过电子邮件发送并寻求帮助,并建议写自己的USERSTORE类,以实现Iuserstore界面。这是扩展ASP.NET身份创建或我关闭的EF Code-First数据库的唯一方法?我也许可以将我的用户帐户保留在一个数据库中,其余的则将其放在另一个数据库中,但我更希望让它起作用。

哦,这是我主要使用的文章(就像我说的那样,我设法在标准MVC控制器上获得了Workin):http://blogs.msdn.com/b/webdev/archive/2013/10/20/building-a-simple-todo-application-with-asp-net-asp-net-indity-indistity-andity-andistity-and-sassiatity-and-associating-users-with-todoes。aspx

请参阅Microsoft的内部团队的以下帖子,以自定义应用程序用户:http://blogs.msdn.com/b/webdev/archive/archive/Archive/2013/10/16/customizing-profile-information in-asp-net-indistity-in-vs-2013-templates.aspx

相关内容

  • 没有找到相关文章

最新更新