问题标签 [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 投票
0 回答
308 浏览

c# - MVC 5 Asp.Net 身份授权属性错误

我将我的 MVC 应用程序从 SimpleMembership 迁移到 ASP.Net Identity 2.0,并从应用程序中删除了后者的所有引用。

但是每当我在控制器中使用授权属性时,都会遇到SQLExpress 数据库文件自动创建错误: . (顺便说一句,我使用的是 Ms SQL 2012,所有其他功能都与 EF 配合良好)

我已经尝试了以下所有方法,但仍然不知道哪里出错了:

  1. 确保在我的应用程序和 web.config 中没有引用 SimpleMembership。我什至删除了 WebMatrix 引用。
  2. 在我的启动中添加 了filters.Add(new AuthorizeAttribute()) 。
  3. 在启动中添加了以下内容

    /li>
  4. 在我的上下文中找不到Configuration.ProxyCreationEnabled 。所以意味着默认情况下启用延迟加载。

  5. 在我的登录代码中添加了以下内容:

    /li>
  6. 是 - 角色以正确的大小写存在。
0 投票
1 回答
353 浏览

asp.net - ASP.NET 身份 Web 表单

好的。我在 web 表单中遇到了一些非常奇怪的 asp.net 身份。我设置了 web.config 文件以建立与本地 sqlexpress 服务器的连接。我之前创建了一个数据库并运行了使用 asp.net 身份和 4.5 .net 框架的 Web 应用程序。第一次运行 Web 应用程序时,表是在 sql server 数据库中自动为我创建的,但后来我注意到在解决方案下的 APP_DATA 文件夹中创建了另一个名为 aspnetdb.mdf 的数据库

尽管我已经指出连接字符串出于某种原因连接到 sql 服务器,但 Web 应用程序连接到位于 APP_DATA 中的新创建的 localdb 数据库。

我在这里做错了吗?

谢谢

0 投票
1 回答
3476 浏览

asp.net-mvc-5 - ASP.Net Identity 2 Reset password with SMS

I'm looking to send the user an SMS when reseting their password. I already have the facilities to send a SMS, I just need a guide on how to set it up with Identity 2.0. I can't seem to find any useful info online, the reference code itself isn't properly commented either.

I want to generate a security code, send it to the user, he must then input it into a form and then be allowed to reset his/her password. Can anyone direct me to a guide/tutorial that explains this process?

0 投票
1 回答
229 浏览

asp.net-mvc - 如何在 Asp.Net Identity Framework 中动态更改/设置 facebook 应用程序

我在多租户应用程序中使用 ASP.NET Identity 2 Framework (ASP.NET MVC 5)。

我可以轻松集成 Facebook 应用程序。它可以在 Startup.cs 中配置它的范围/凭据等。

但是我有 x 个域和 x 个 Facebook 应用程序,我将决定在运行时使用哪些凭据。

如何动态更改/设置外部登录提供程序设置,而不是在应用程序启动时?

0 投票
1 回答
977 浏览

c# - Web API 令牌身份验证引发上下文错误

我在没有密钥的关系上遇到错误。(我在下面发布了完整的错误)。但是这些错误仅在我点击 /Token 端点时发生,该端点使用一些预构建的 Microsoft 代码来运行它。我确实注意到,要让我的 Token 端点正常工作,我必须在我的 web.config 文件中添加一个“DefaultConnection”字符串,这向我表明它正在使用不同的上下文。如何设置此代码将使用的 DbContext?因为我的 DbContext 似乎工作正常。我可以查询表格并在网页上返回结果。我似乎无法在没有收到错误的情况下点击 Token 端点。

启动.Auth.cs:

0 投票
3 回答
2144 浏览

c# - CreateIdentityAsync 多次调用 FindByIdAsync

我将 ASP.NET Identity 2.0 与我自己的自定义存储一起使用。我注意到多次调用存储操作效率低下,尤其是在登录时。

这是我的登录代码(几乎包含在默认模板中):

我的用户扩展如下:

配置身份验证:

问题:

  • 登录后,使用BaseApplicationUser user=await UserManager.FindAsync(model.Email,model.Password);绝对正常的方式检索用户。

  • ClaimsIdentity userIdentity=await manager.CreateIdentityAsync(this,DefaultAuthenticationTypes.ApplicationCookie);被调用时,它会传递一个 BaseApplicationUser ,因此它不需要FindByIdAsync像它那样在用户存储上调用 3 次(!!!)。这是愚蠢的次优。事实上,它甚至应该调用它,因为已经检索到用户对象。

0 投票
1 回答
8686 浏览

c# - UserManager.FindAsync 不适用于 UserStore 的自定义实现

我在 ASP.NET 身份方面相对较新。为了更好地理解这些事情,我正在做一个 ASP.NET Identity 的自定义实现。我能够使用自定义代码成功创建用户。但是,该FindAsync(username, password)功能不起作用。

这是我到目前为止所做的:

用户:这是我的User类,继承自IUser<int>

UserStore:这是自定义实现IUserStore' and 'IUserPasswordStore

在我的 MVC5 控制器中,我有以下行尝试通过用户名和密码查找用户:

上述代码行依次调用以下方法UserStore

public Task<User> FindByNameAsync(string userName)public Task<string> GetPasswordHashAsync(User user)

之后,代码永远进入等待状态,什么也没有发生,即控制不再返回给控制器。

我在这里缺少什么?

0 投票
1 回答
1693 浏览

asp.net-mvc - 使用 cookie 与第三方登录提供商和 Microsoft.AspNet.Identity.Owin 2.0 保持登录状态

我已经按照教程尝试使用几个第三方登录提供程序和我正在编写的一个简单的 ASP.NET MVC SPA 应用程序。虽然配置很简单(我实际上启用了 Twitter 和 Microsoft),并且登录过程正常工作,但用户凭据仅存储在浏览器会话 cookie 中,不会在浏览器会话中持续存在。

我也尝试过使用 NuGet 的alpha-1 示例项目(应用了相同的基本配置),但它也不起作用(至少在我的环境中)。

Web 应用程序仅在本地托管(因为我没有用于测试的 Azure 帐户)。

我认为设置ExpireTimeSpan会影响它,但它不会:

Cookies(我故意更改了 cookie 的默认名称以验证代码是否正在执行——它也不适用于默认名称):

会话过期的 Cookie

0 投票
1 回答
162 浏览

authentication - 允许第 3 方应用程序针对我的 asp.net Web api 应用程序验证用户和不记名令牌

我有以下情况,在谷歌搜索中找不到任何东西,所以这是我最后的手段。

我的意图是:

我想创建一个实现 ASP.NET 标识的单个 ASP.NET Web API 项目。因此,在过去的几个月里,我创建了许多此类实现的版本,所以我了解了基础知识,但我现在想做的是拥有一个单点登录和用户验证,以便将来多个项目可以使用。

因此,我已经实现了基本项目,该项目使用整个 grant_type=password 在端点“/Token”上公开不记名令牌,但现在我被卡住了。

如果我现在创建另一个项目,并且我想保护该项目而不再次实施它,并且不允许访问该项目的用户数据库,我将如何去做。

所以项目 1 是 asp.net 身份实现。

项目 2 需要通过验证项目 1 来保护它的控制器,但我不知道从哪里开始寻找,也无法在 Google 上找到任何合适的答案,如果有任何不清楚的地方,请告诉我。

谢谢

0 投票
1 回答
543 浏览

asp.net-mvc - 我有角色种子 - 但 Roles.GetAllRoles 不起作用?

好的,我已经播种了一些角色,这些角色可以在 SQL 数据库中的 AspNetRoles 表中找到,用户可以在 AspNetUsers 中找到。

我还发现了一堆 aspnet_ 表(我认为它们是旧的 WebForm 表)。在一个视图中,我正在调用 @Roles.GetAllRoles() ,它没有返回任何结果。aspnet_Roles 表没有记录。所以它可能在那里检查。但这似乎不太可能,因为种子角色是这样创建的:

在我对 MVC5 知之甚少的情况下,这表明 Roles.GetAllRoles() 将返回正确的结果。

我正在使用这个@model EUWebRole.Models.IdentityManager 也尝试了ApplicationUser,结果没有变化。

所以对于问题:

1) 如何获取角色列表?2)如果我使用了错误的“表格”,我该如何设置它以使用正确的表格?

任何想法将不胜感激。