【问题标题】:Extending current User class to handle Identity扩展当前用户类来处理身份
【发布时间】:2014-09-08 21:55:27
【问题描述】:

我们在 ASP.NET 网站上使用表单身份验证,但希望升级到新的身份提供程序。目前我们正在使用数据库优先的方法,最终只想扩展我们当前的用户表(而不是 aspnet_users)以使用新的身份格式。我们正在使用 StructureMap 将我们的上下文注入到我们的业务逻辑类中。例如,我们的用户服务当前有 this 作为它的构造函数:

private readonly SiteModelContainer _context;
public UserService(SiteModelContainer context)
{
    this._context = context;
}

在我们的 IoC 注册表中,我们有这个:

var ecsbuilder = new EntityConnectionStringBuilder();
ecsbuilder.Provider = "System.Data.SqlClient";
ecsbuilder.ProviderConnectionString = @"data source=***;initial catalog=***;persist security         info=True;User ID=***;Password=***;multipleactiveresultsets=True;App=EntityFramework";
ecsbuilder.Metadata = @"res://*/Data.***.csdl|res://*/Data.***.ssdl|res://*/Data.***.msl";
string connectionString = ecsbuilder.ToString();
For<SiteModelContainer>().Use<SiteModelContainer>().Ctor<string>("connectionString").Is(connectionString);
For<IUserService>().Use<UserService>();
...all the rest of our services

我们还首先使用带有 EDMX 和实体框架的数据库。以前我们只是使用 ASP.NET 身份验证,因为它是开箱即用的,并且有一个单独的用户表来存储配置文件信息,但希望所有事情都在一个用户类上工作。

1)是否可以扩展我们的用户服务来处理与使用身份相关的所有事情?所以 Identity 使用我们注入到类中的相同上下文?如果是这样,我找不到任何关于它的文章?

2) 如果用户对象是在 EDMX 文件中创建的,我们能否扩展它?

谢谢

【问题讨论】:

    标签: asp.net entity-framework asp.net-identity


    【解决方案1】:

    我已经将 2 个相当大的项目从 MembershipProvider 迁移到 Asp.Net Identity 中,这两次我最终都重写了用户管理的大部分内容以及所有触及用户的内容。相当厚实的重写。

    您的要求是可能的,但很难且非常耗时。您可以从 this question 开始 - OP 已经让他的 db-first 项目以身份运行。我们在 cmets 中进行了讨论,其中提供了一些可能对您有所帮助的链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多