Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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
Asp.net identity Asp.Net 5 beta 7中的自定义用户存储_Asp.net Identity_Asp.net Core - Fatal编程技术网

Asp.net identity Asp.Net 5 beta 7中的自定义用户存储

Asp.net identity Asp.Net 5 beta 7中的自定义用户存储,asp.net-identity,asp.net-core,Asp.net Identity,Asp.net Core,我正试图在Asp.NET5Beta7中实现一个自定义的UserStore,它是基于所提出的想法 以下是我的自定义用户存储的代码: public class ApplicationUserStore : UserStore<ApplicationUser> { public ApplicationUserStore(DbContext context) : base(context) { } public async override

我正试图在Asp.NET5Beta7中实现一个自定义的
UserStore
,它是基于所提出的想法

以下是我的自定义用户存储的代码:

public class ApplicationUserStore : UserStore<ApplicationUser>
{
    public ApplicationUserStore(DbContext context)
        : base(context)
    {
    }


    public async override Task<ApplicationUser> FindByIdAsync(string userId)
    {
        var user = await base.FindByIdAsync(userId);
        this.Context.Entry(user).Reference(u => u.Subject).Load();
        return user;
    }
}

EF7
中定义的扩展方法在哪里?或者有没有一种新的方法可以显式加载引用?

您提到的这个问题非常古老,从那时起,身份发生了很大变化

我可以告诉您,我在项目中实现了UserStore,但没有使用实体框架,我的类声明如下:

public sealed class UserStore<TUser> :
    IUserStore<TUser>,
    IUserPasswordStore<TUser>,
    IUserEmailStore<TUser>,
    IUserLoginStore<TUser>,
    IUserRoleStore<TUser>,
    IUserClaimStore<TUser>,
    IUserPhoneNumberStore<TUser>,
    IUserLockoutStore<TUser>,
    IUserTwoFactorStore<TUser>
   where TUser : SiteUser
{
.. implementation
}
公共密封类用户存储:
Iuser商店,
IUserPasswordStore,
IUserEmailStore,
Iuserroginstore,
IUserRoleStore,
IUserClaimStore,
IUserPhoneNumberStore,
IUserLockoutStore,
IUserTwoFactorStore
其中TUser:SiteUser
{
实施
}
其中SiteUser是我自己的自定义类

您还可以发现,它显示了我是如何在DI中插入自定义userstore的


看起来您确实想使用EF,但是如何声明和插入自定义用户存储的原则应该是相同的,无论是否依赖EF,您所指的问题都非常古老,并且自那时起身份发生了很大变化

我可以告诉您,我在项目中实现了UserStore,但没有使用实体框架,我的类声明如下:

public sealed class UserStore<TUser> :
    IUserStore<TUser>,
    IUserPasswordStore<TUser>,
    IUserEmailStore<TUser>,
    IUserLoginStore<TUser>,
    IUserRoleStore<TUser>,
    IUserClaimStore<TUser>,
    IUserPhoneNumberStore<TUser>,
    IUserLockoutStore<TUser>,
    IUserTwoFactorStore<TUser>
   where TUser : SiteUser
{
.. implementation
}
公共密封类用户存储:
Iuser商店,
IUserPasswordStore,
IUserEmailStore,
Iuserroginstore,
IUserRoleStore,
IUserClaimStore,
IUserPhoneNumberStore,
IUserLockoutStore,
IUserTwoFactorStore
其中TUser:SiteUser
{
实施
}
其中SiteUser是我自己的自定义类

您还可以发现,它显示了我是如何在DI中插入自定义userstore的


看起来您确实想使用EF,但是如何声明和插入自定义userstore的原则应该是相同的,无论是否依赖EF

谢谢Joe提供的信息。我认为,您链接的问题将有助于在用户存储编译后配置它。是的,我正在使用实体框架。我基本上是在试图解决与我相关的问题中的同一个问题;也就是说,FindByIdAsync返回的用户对象没有加载引用属性。谢谢Joe提供的信息。我认为,您链接的问题将有助于在用户存储编译后配置它。是的,我正在使用实体框架。我基本上是在试图解决与我相关的问题中的同一个问题;也就是说,FindByIdAsync返回的用户对象没有加载引用属性。请等待一周(更多…),他们将再次更改所有结构,它将是Identity v.5,允许您配置身份验证,只创建20个类并覆盖80个方法。。。(啊,别忘了接口,它有一千多个)。最好的是,这一次会有很好的文档记录。再等一周(更多…),他们将再次更改所有结构,它将是Identity v.5,允许您配置身份验证,只创建20个类和覆盖80个方法。。。(啊,别忘了接口,它有一千多个)。最棒的是,这次它将被很好地记录下来。
public sealed class UserStore<TUser> :
    IUserStore<TUser>,
    IUserPasswordStore<TUser>,
    IUserEmailStore<TUser>,
    IUserLoginStore<TUser>,
    IUserRoleStore<TUser>,
    IUserClaimStore<TUser>,
    IUserPhoneNumberStore<TUser>,
    IUserLockoutStore<TUser>,
    IUserTwoFactorStore<TUser>
   where TUser : SiteUser
{
.. implementation
}