当前位置: 首页 > 知识库问答 >
问题:

如何从ASP.NET标识获取用户列表?

司徒嘉祥
2023-03-14

编辑:这个问题已经过时了

在我问这个问题的时候,身份框架是一个移动的目标。作者改变了相当多的东西,他们已经脱钩了其他几个,使一切变得更容易。

看一下GitHub上的ASP.NET标识示例项目。

ApplicationDbContext UsersContext = new ApplicationDbContext();
UsersContext.Users.ToList(); // Exception

我得到一个异常无效列名'discriminator'。ApplicationDbContext的定义由新建应用程序向导自动生成:

using Microsoft.AspNet.Identity.EntityFramework;

namespace Cobranzas.Models
{
    public class ApplicationUser : User
    {

    }
    public class ApplicationDbContext : IdentityDbContextWithCustomUser<ApplicationUser>
    {

    }
}

因此,我的猜测是,discriminator列用于区分applicationuseruser。但是,它不存在于我的数据库中(该数据库是由应用程序自动创建的)

共有1个答案

吴峰
2023-03-14

我发现我没有使用派生的ApplicationUser对象进行任何操作,所以我只是继续为普通的User更改了它的所有用法。然后,我只为以下内容更改了applicationdbcontext定义:

public class ApplicationDbContext : IdentityDbContext<
    User, UserClaim, UserSecret, UserLogin,
    Role, UserRole, Token, UserManagement>
{
}

现在我可以访问用户列表:

UsersContext = new ApplicationDbContext();
...
UsersContext.Users.ToList();

但是,我认为这种情况将来还会出现并困扰着我(我可能需要向user)添加更多字段,所以我可能不得不使用与本问题相同的方法:

IdentityManager = new AuthenticationIdentityManager(new IdentityStore());
IdentityManager = new AuthenticationIdentityManager(new IdentityStore(new ApplicationDbContext()));
 类似资料:
  • 我实现了一个ASP.NET MVC(.NET Framework)标识,注册页和登录身份验证页按预期自动生成。 我想有一个单独的页面,虽然注册用户列表,这是我所做的。 添加Controller-MVC5和VIE,使用实体框架自动生成CRUD功能。 请告知

  • 我正在使用AWS Congito用户池进行帐户管理,其中Cognoto标识池将此用户池作为标识提供者。我用它来控制通过API网关对API的访问,API网关向Lambda发送请求。我的Lambda是使用Micronaut用Java8实现的。所有这些都很好。 在Lambda中,我从中的获得名称: 在Cognito标识符的字符串名称中返回的是什么。像这样的东西: us-east-1:xxxxe650-5

  • 问题内容: 如何从中获取URL片段标识符? 该javadocs中似乎没有提到它。 问题答案: 您无法以您想要的方式获得URL片段。 通常,浏览器不会将片段发送到服务器。可以通过使用网络协议分析器(例如tcpdump,Ethereal,Wireshark和Charles)来验证。 但是,您可以在JavaScript请求中将片段字符串作为GET / POST参数发送。要使用JavaScript获取值,

  • 用了nginx代理,本想用IP做标识,但是同一局域网下的所有设备,都是共用同一IP,请问可以获取到局域网ip或者通过哪些参数组合可以区分唯一性

  • 我正在使用VS 2013 ASP.NET 4.5.1,并使用个人用户帐户选项创建了一个内部webforms应用程序进行身份验证。我想使用LDAP对用户进行身份验证,并使用为个人用户帐户创建的SQL DB选项保存用户信息和角色。我们没有Active Directory联合身份验证服务(AD FS),因此无法使用内部验证方法。 AD用户名将存储在SQL DB中 如何使用LDAP对用户进行身份验证,然后

  • 我正在使用OneSignal向我的Android应用程序中的用户发送通知。目前,我可以使用idsAvailable()获取playerID/deviceID,并向该用户发送通知。