问题标签 [asp.net-identity-2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
19695 浏览

asp.net-mvc-5 - 在默认 MVC5 应用程序中的帐户关联步骤中从外部提供商 Google 和 Facebook 获取电子邮件

显然,您可以通过将范围添加到FacebookAuthenticationOptions对象中的 Facebook 提供程序来执行此操作Startup.Auth.cs

http://blogs.msdn.com/b/webdev/archive/2013/10/16/get-more-information-from-social-providers-used-in-the-vs-2013-project-templates.aspx

如何与 Google 提供商做同样的事情?类/对象没有x.Scope属性GoogleAuthenticationOptions

0 投票
1 回答
5656 浏览

asp.net - MVC5:布局页面中的登录表单

我对 MVC 很陌生,所以请帮助我了解如何执行以下操作。如您所知,当您创建新的 MVC5 项目时,它希望您在要登录时将登录页面用作单独的页面(即带有 ActionLink 的 _LoginPartial 视图到返回其视图的登录控制器)。

我想要完成的是在整个网站上都有登录表单(当用户尚未登录时)所以我做了以下更改:

_布局视图:

_Login部分视图:

当用户名/密码存在时,它看起来工作正常,当在 QueryString 中找不到 ReturnUrl 时,它会登录用户并将他重定向到主页。但是,当登录失败时,它会将原始登录视图加载为单独的页面,因为登录控制器返回其完整视图:

我不想要那个。我想在所有页面上都有登录表单,并且能够从任何页面登录,并且只在用户当前所在的页面上显示错误,而不是将他重定向到原始登录页面。如果不使用 javascript/ajax,我将如何做到这一点?

非常感谢!

0 投票
11 回答
49661 浏览

c# - 没有注册 IUserTokenProvider

我最近更新Asp.Net Identity Core了我的申请表 1.0 到 2.0。

有一些我想尝试的新功能GenerateEmailConfirmationToken,等等。

我使用这个项目作为参考。

当用户尝试注册时,在执行 Register 的 Post 方法期间出现错误

在行

我收到错误消息:

现在,我只想看看它会生成什么样的代码。我需要对ApplicationUser继承自IdentityUser类的类进行一些更改吗?

或者我需要改变什么才能让这些功能正常工作?

0 投票
1 回答
17046 浏览

c# - Entity Framework 6 和 Asp.Net Identity UserManager:多个 DbContext

这是 MVC 5/EF6。所以我有以下课程:

除了常规的 MVC5 成员表之外,它还创建了 2 个:LevelsUserLevels(带有 User_Id 和 Level_Id 列)。Levels表有一个静态数据(即 1 - 优秀,2 - 好等)并且是一种库,我不想插入到这个表中。

我想要做的是当用户在网站上注册并选择它将继续并从数据库中检索它的级别时,以便该UserLevels表填充 newUserID和 selected LevelID。这是我的代码:

它在这一行引发异常:An entity object cannot be referenced by multiple instances of IEntityChangeTracker..

var result = await UserManager.CreateAsync(user, model.Password);

我猜这与试图将已经存在的关卡插入Levels表有关吗?当然它可能是别的东西......有什么建议吗?提前致谢!

0 投票
1 回答
3869 浏览

c# - 在我的自定义 OAuthAuthorizationServerProvider 中的 ValidateClientAuthentication 期间获取 IdentityDbContext

我正在构建一个使用令牌进行授权的 web.api 服务。我遵循了 Dominick Baier 在他的博客中使用的指南

今天我更新了 Owin、Entity Framework 和 ASP.NET web.api 的所有包,我发现很多东西都发生了变化。

我在网上找到了几篇文章(显然没有关于这些主题的文档)并开始转换我的 web.api 服务。

这篇关于新 ASP.NET Identity 2.0.0 的帖子帮助我转换了几乎所有内容,但现在我陷入了一个简单的愚蠢问题。

我已经按照博客中的建议创建了我的客户ApplicationUserManagerApplicationDbContext 。

在我的Startup中,我将我的 2 对象与 Owin 上下文相关联:

我已经定义了一个自定义OAuthAuthorizationServerProvider因为我想使用Bearer Authentication

在我的MyAuthorizationServerProvider 中,我覆盖了ValidateClientAuthentication因为我想检查客户端凭据。

一切似乎都很好,我可以从OwinContext获得我的IAuthenticationManager

但我似乎无法获得我的ApplicationDbContext。我能做到这一点的唯一方法是使用通过注册变量找到的密钥:

我想知道是否有更简单的方法来实现同样的目标。

0 投票
3 回答
1099 浏览

asp.net - 基于 ASP.NET Identity 的两个 ASP.NET 应用程序之间的通用身份验证

我的解决方案中有几个应用程序,我想在它们之间共享身份验证。为了简化,假设我有两个 WebAPI 应用程序。我使用/Token端点进行身份验证,并接收承载令牌作为回报。之后,我把这个令牌放在Authentication:标题中。

现在,登录到 WebAPI_1 我可以从[Authorize]-decorated 方法中获取数据。但如果我想在 WebAPI_2 中这样做,那是行不通的。

这些 WebAPI 是开箱即用的 VS2013 WebAPI 2.1 模板,带有 ASP.NET Identity 2。每个模板都是单独设置的,但它们连接到同一个数据库。

我应该如何解决这个问题?

我计划实现 LoadBalanced 架构,其中客户端应用程序 (AngularJS) 与 WebAPI 通信。现在我应该能够复制 WebAPI,因此用户应该通过所有这些进行身份验证。

0 投票
1 回答
2018 浏览

asp.net-mvc-5 - 使用 ASP.NET 标识在两个项目中重叠用户登录

我在 asp.net 身份中有一个我无法理解的问题

应用以下步骤

  1. 创建两个空的 Web 项目,它们有名称:
    • Web应用程序1
    • Web应用程序2
  2. 在每个项目上安装包“ Microsoft ASP.NET Identity Samples 2.0.0-beta2 ”
  3. 创建两个sql数据库,名称如下:
    • 网络数据库1
    • 网络数据库2
  4. 在WebApplication1中添加用户名为“ User1
  5. 在WebApplication2中添加用户名为“ User2
  6. 同时运行两个项目。

我的问题是当我在“ WebApplication1 ”中通过“ User1 ”登录时

我发现WebApplication2使用User1记录。

尽管每个项目都有单独的数据库。

而且WebApplication2中也没有 User1

有什么问题?

原谅我的英语不好!

0 投票
2 回答
6938 浏览

asp.net - 将 ASP.NET Identity 升级到 2.0 后出现异常

我的项目:VS2013,实体框架,Web 表单,数据库优先,身份

我今天(2014-4-15)更新了我项目的所有 NuGet 包。其中Identity升级为2.0.0.0。

我以为事情进展顺利,但不幸的是,当我运行应用程序时,以下语句给出了异常。

异常信息如下。它要求我进行 Code First 迁移。但我的项目是 Database First webforms 项目。我怎么解决这个问题?谢谢!


Microsoft.AspNet.Identity.EntityFramework.dll 中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理

附加信息:支持“ApplicationDbContext”上下文的模型自数据库创建以来已更改。这可能是因为 ASP.NET Identity Framework 使用的模型已更改或您的应用程序中使用的模型已更改。要解决此问题,您需要更新数据库。考虑使用 Code First 迁移来更新数据库 ( http://go.microsoft.com/fwlink/?LinkId=301867 )。
在使用 Code First 迁移更新数据库之前,请通过在应用程序的 ApplicationDbContext 的构造函数中设置 throwIfV1Schema = false 来禁用 ASP.NET Identity 的架构一致性检查。公共 ApplicationDbContext() : base("ApplicationServices", throwIfV1Schema:false)

0 投票
1 回答
742 浏览

c# - 使用 ASP.Net Identity 2 创建新用户时,将新行插入父表

我正在使用 ASP.Net Identity 2。我创建了一个用户,如下所示:

用户是代理机构的成员:

用户与代理商具有一对多的关系。创建用户时,我将从数据库中检索代理,然后将其设置AgencyUser. 这就是事情出错的地方。

ASP.NET Identity 不是引用 Agency 并将主键插入到 User 表中,而是将新的机构记录插入到机构表中,并将它的 id 用于新创建的用户。我最终与两个机构...

0 投票
1 回答
339 浏览

thinktecture-ident-server - Thinktecture Identity Server v2 使用 ASP.NET 身份 v2

我已经尝试过使用开箱即用的 ASP.NET 成员资格提供程序和 MembershipReboot。

但我也想知道有什么方法可以集成 ASP.NET Identity V2?