为了让这个问题简单化,我将描述更高层次的问题,然后在需要时讨论任何实现细节。我在开发中的应用程序中使用ASP.NET标识。在一系列请求的特定场景中,UserManager首先获取当前用户(至少一个FindById请求),从中获取用户。在后续请求中,我更新了由UserManager.Update保存的关于该用户的信息,我可以看到数据库中保存的更改。这里的问题是,在进一步的后续请求中,从FindById获取的用户对象没有更新。这很奇怪,但可能与我不明白的UserManager中的缓存有关。但是,当我跟踪数据库调用时,我发现UserManager确实正在向数据库发送sql请求以获取用户。
varuser=UserManager.Find(...);ClaimsIdentityidentity=UserManager.CreateIdentity(user,DefaultAuthenticationTypes.ApplicationCookie);varclaim1=newClaim(ClaimType=ClaimTypes.Country,ClaimValue="Arctica",UserId=user.Id);identity.AddClaim(claim1);AuthenticationManager.SignIn(newAuthenticationProperti
我正在尝试使用这篇博文中的建议获取针对Asp.NetIdentity的瑞典语本地化错误消息:HowtolocalizeASP.NETIdentityUserNameandPassworderrormessages?使用NuGet我下载了德语语言包,然后在dotPeek中打开\packages\Microsoft.AspNet.Identity.Core.2.0.0\lib\net45\de\Microsoft.AspNet.Identity.Core.resources.dll然后将其导出到新的VS项目:https://github.com/nielsbosma/AspNet.Iden
我正在将ASP.NET网站从旧的成员身份提供程序迁移到ASP.NETIdentity2我注意到新提供商没有记录用户注册和上次登录时间。有没有办法自定义代码来做到这一点? 最佳答案 要捕获注册日期和上次登录日期,您需要扩展用户对象:publicclassApplicationUser:IdentityUser{publicvirtualDateTime?LastLoginTime{get;set;}publicvirtualDateTime?RegistrationDate{get;set;}//otherproperties}然后在
我有一个SQLServer数据库。该数据库有一个名为Item的表。项目有一个名为“ID”的属性。ID是我表上的主键。这个主键是一个增量值为1的整数。当我尝试插入记录时,我收到一条错误消息:Cannotinsertexplicitvalueforidentitycolumnintable'Item'whenIDENTITY_INSERTissettoOFF.".我正在尝试使用以下代码插入记录:publicintAddItem(Itemi){try{intid=0;using(DatabaseContextcontext=newDatabaseContext()){i.CreatedOn=
我正在尝试在遵循洋葱架构的ASP.NETMVC5解决方案中实现Identity2.0。我的核心中有一个ApplicationUser。namespaceCore.DomainModel{publicclassApplicationUser{...}}在我的数据访问层中,我使用的是EntityFramework6.1,我的上下文源自IdentityDbContext,这就是问题所在。ApplicationUser需要派生自Microsoft.AspNet.Identity.EntityFramework.IdentityUsernamespaceInfrastructure.DAL{pu
我刚开始使用ASP.NETIdentity,但一直找不到获取当前登录用户列表的方法。要获得所有用户,我可以只使用usernewApplicationDbContext().Users其中ApplicationDbContext随ASP.NETWeb应用程序模板一起提供,并扩展IdentityDbContext。但是IdentityUser类好像没有办法查询登录状态。感谢您的指点。 最佳答案 没有对此的内置支持。实现此目的的一种简单方法是向您的用户添加一个LastActivityDate,每当用户在您的网站上执行某些操作时,该日期就会
我改为使用新的ASP.NETIdentity2。我实际上使用的是MicrosoftASP.NETIdentitySamples2.0.0-beta2。谁能告诉我在哪里以及如何修改代码,以便它存储用户的名字和姓氏以及用户详细信息。现在这会成为claim的一部分吗?如果是,我该如何添加它?我想我需要在这里添加这个,这是帐户Controller中的注册方法:if(ModelState.IsValid){varuser=newApplicationUser{UserName=model.Email,Email=model.Email};varresult=awaitUserManager.Cr
编辑简单的问题是,我怎样才能让Thread.CurrentPrincipal.Identity.Name让当前用户在WPF中登录?结束编辑我正在尝试调用一个现有方法(不在任何类型的服务中;只是POCO中的一个方法)来检索当前用户:Thread.CurrentPrincipal.Identity.Name这段代码是由其他人编写的,并且(大概)与他的ASP.NETMVC项目一起工作。我正在尝试从WPF中调用相同的方法,但名称现在为空。我能做些什么吗? 最佳答案 将Thread.CurrentPrincipal设置为newWindowsP
昨晚我正在处理一个使用FormsAuthentication的新项目,并且正在自定义票证以包含安全token,因此如果用户在一个浏览器中注销,它会在所有浏览器中注销。查看ASP.netIdentity的最新迭代,它似乎已经内置了此功能。我创建了一个启用了个人帐户的新测试MVC5Web应用程序。注册和身份验证开箱即用。但是,我注意到失败的登录尝试不会增加AspNetUsers表中的AccessFailedCount字段。由于这不会增加,我可以在不锁定帐户的情况下尝试尽可能多的失败登录尝试。如何在ASP.netIdentity2.0上启用AccessFailedCount和锁定功能?