默认的MVC 5应用程序在identitymodels.cs中附带了这段代码-这段代码用于默认模板的所有ASP.NET标识操作:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
}
如果我使用带有实体框架的视图搭建一个新的控制器,并创建一个“新的数据上下文”...在对话框中,我得到为我生成的:
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
namespace WebApplication1.Models
{
public class AllTheOtherStuffDbContext : DbContext
{
// You can add custom code to this file. Changes will not be overwritten.
//
// If you want Entity Framework to drop and regenerate your database
// automatically whenever you change your model schema, please use data migrations.
// For more information refer to the documentation:
// http://msdn.microsoft.com/en-us/data/jj591621.aspx
public AllTheOtherStuffDbContext() : base("name=AllTheOtherStuffDbContext")
{
}
public System.Data.Entity.DbSet<WebApplication1.Models.Movie> Movies { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
namespace WebApplication1.Models
{
public class AllTheOtherStuffDbContext : DbContext
{
// You can add custom code to this file. Changes will not be overwritten.
//
// If you want Entity Framework to drop and regenerate your database
// automatically whenever you change your model schema, please use data migrations.
// For more information refer to the documentation:
// http://msdn.microsoft.com/en-us/data/jj591621.aspx
public AllTheOtherStuffDbContext() : base("name=AllTheOtherStuffDbContext")
{
}
public System.Data.Entity.DbSet<WebApplication1.Models.Movie> Movies { get; set; }
public System.Data.Entity.DbSet<WebApplication1.Models.Animal> Animals { get; set; }
}
}
我应该将这两个(applicationdbcontext
和AllotherStuffdbcontext
)中的哪一个用于我自己的所有其他模型?或者我应该只使用默认的自动生成的applicationdbcontext
,因为它是从基类dbcontext
派生的,所以使用它应该不成问题,或者会有一些开销?您应该在应用程序中对所有模型只使用一个dbcontext
对象(我在某个地方读过),所以我甚至不应该考虑在单个应用程序中同时使用applicationdbcontext
和allotherstuffdbcontext
?或者什么是具有ASP.NET标识的MVC5中的最佳实践?
我将使用从IdentityDbContext继承的单个上下文类。这样,您可以让上下文知道您的类与IdentityUser和IdentityDbContext的角色之间的任何关系。IdentityDbContext中的开销很小,它基本上是一个有两个dbset的常规DbContext。一个用于用户,一个用于角色。
我实现了一个ASP.NET MVC(.NET Framework)标识,注册页和登录身份验证页按预期自动生成。 我想有一个单独的页面,虽然注册用户列表,这是我所做的。 添加Controller-MVC5和VIE,使用实体框架自动生成CRUD功能。 请告知
我正在使用VS 2013 ASP.NET 4.5.1,并使用个人用户帐户选项创建了一个内部webforms应用程序进行身份验证。我想使用LDAP对用户进行身份验证,并使用为个人用户帐户创建的SQL DB选项保存用户信息和角色。我们没有Active Directory联合身份验证服务(AD FS),因此无法使用内部验证方法。 AD用户名将存储在SQL DB中 如何使用LDAP对用户进行身份验证,然后
我有一个生成密码重置令牌的Webapi服务。 令牌生成服务endpoint:
编辑:这个问题已经过时了 在我问这个问题的时候,身份框架是一个移动的目标。作者改变了相当多的东西,他们已经脱钩了其他几个,使一切变得更容易。 看一下GitHub上的ASP.NET标识示例项目。 我得到一个异常。ApplicationDbContext的定义由新建应用程序向导自动生成: 因此,我的猜测是,列用于区分和。但是,它不存在于我的数据库中(该数据库是由应用程序自动创建的)
我是ASP.NET新手,我必须使用身份验证和授权框架创建一个ASP.NET MVC项目,但对数据库(SQL Server)的访问必须在一个独立的web服务项目中完成,所以我创建了一个web API项目,该项目还包含请求数据库的应用程序的所有服务,即使是通过调用web API的方法而不是ASP.NET MVC项目的方法来完成身份验证,而且一切都很好。 请帮忙。
通过复制VS2013模板中的代码,我在MVC应用程序中实现了ASP.NET标识。基本的东西是工作的,但我不能得到重置密码工作。当我显示“忘记密码”页面时,将生成一封包含令牌的电子邮件。方法返回此标记: