从旧的 ASP.NET 成员资格切换到 ASP.NET 标识 (Visual Studio 2013)



ASP.NET 身份简介 – ASP.NET 应用程序的成员系统

http://blogs.msdn.com/b/webdev/archive/2013/06/27/introducing-asp-net-identity-membership-system-for-asp-net-applications.aspx

现在,当使用 ASP.NET 4.5 创建新的 Web 应用程序时,我们有了新的"ASP.NET 标识"。

我设法让我的应用程序使用我的MSSQL数据库和内置的注册/登录/更改密码功能,但我不确定如何像过去一样进行其他操作(尤其是"ASP.NET 配置"已经消失了(。由于这是新事物,我找不到任何好的指南,或者我想错了。

  1. "[DBO]。[AspNetUsers]" 现在在 nvarchar(128( 中具有 [Id],而不是 uniqidentifier,但仍采用 GUID 格式
  2. Member.GetUser((。提供程序用户密钥不再工作,如何获取 ID?(通过 User.Identity.Name 获取用户名,然后查询 [dbo]。[AspNetUsers]?">
  3. 如何在直接操作数据库的同时创建(管理(角色?(与之前的 System.Web.Security.Roles.CreateRole 方法一样(

如果任何人都可以提供有关如何实现此"ASP.NET 身份"的详细介绍的链接,那将是最好的

多谢。。

更新

我发现 Id 可以通过以下方式检索:(new System.Linq.SystemCore_EnumerableDebugView(((System.Security.Claims.ClaimsPrincipal((((System.Web.UI.Page((this((.用户((。索赔((。物品[0]。价值

它在索赔中......但看起来效率不高。

我在同一条船上。我找到了一种更清洁的方法来获取用户ID

 var identity = new ClaimsIdentity(User.Identity);
 var id = identity.GetUserId();

从 .net 4.5 开始,所有基于标识的信息都作为基于声明的对象返回。这似乎是简单标识提供者的更新版本,如果您使用的是 Visual Studio 2012,则在"Internet 应用程序"的 asp.net MVC 模板中找到该提供程序。至于您引用的链接,还有一个示例项目应该可以帮助您入门 https://github.com/rustd/AspnetIdentitySample 除此之外您是否遇到过特定问题?

您可以使用

User.Identity.GetUserId()

相关内容

  • 没有找到相关文章

最新更新