我们的应用程序中有一个屏幕允许管理员角色的成员编辑用户帐户详细信息。最终,任何用户对象都会被发送到服务器并使用以下方式进行更新:awaituserManager.UpdateAsync(user);这对于更新用户记录来说是按预期工作的。我们可以进行更改并保存到数据库中,例如用户名、电话号码等。我看到的问题是,有时更新角色而不是向用户添加额外角色时,它会删除所有角色。在我们的ApplicationUser对象上,我们有一个这样的属性:publicvirtualICollection>Roles{get;set;}=newList>();因此我们可以将角色作为用户对象的一部分在客户端和服务
此代码之前曾多次运行,但在为Identity2.1中的用户添加了几个新属性后,它突然停止运行。我收到一个UserIdnotfound错误,尽管在调试器中有一个UserId的可见值。任何人都知道为什么会突然发生这种情况?看到最少的东西是非常令人沮丧的。代码如下:(Controller)//POST:/Account/Register[HttpPost][AllowAnonymous][ValidateAntiForgeryToken]publicasyncTaskRegister(RegisterViewModelmodel){model.BackgroundOnFile=false;i
为什么是IdentityUserMicrosoft.AspNet.Identity.EntityFramework中的类包而不是包含在Microsoft.AspNet.Identity.Core中包?为什么要依赖EntityFramework?这似乎是一个简单的类。我错过了什么?我通常将数据层与我的DAL分开。添加对EntityFramework的依赖对于IdentityUser类似乎有点多。 最佳答案 Identity的核心设计与EF或任何特定形状的用户和角色类型无关。一切都被商店抽象化了。事实上,对于任何给定的持久性提供者,类型
我有一个ASP.NETCore1.1应用程序,其代码使用此API:Microsoft.AspNetCore.Identity.IdentityCookieOptions当我尝试升级到ASP.NETCore2.0时,编译器给我这个错误:errorCS0246:Thetypeornamespacename'IdentityCookieOptions'couldnotbefound(areyoumissingausingdirectiveoranassemblyreference?)ASP.NETCore2.0中的等效API是什么? 最佳答案
在ASP.NETCoreWeb应用程序的Controller中,我想刷新存储在客户端上的cookie票证中的用户和声明。客户端已通过身份验证和授权,ASP.NETCoreIdentity将此信息存储在cookie票证中-现在在某些Controller操作中我想刷新cookie中的数据。SignInManager具有刷新RefreshSignInAsync的功能,但它不接受HttpContext.User作为参数。[HttpPost("[action]")][Authorize]publicasyncTaskValidate(){//todo:updatetheClientCookiea
因为我可以扩展方法来访问用户属性吗?有如下方法:User.Identity.GetUserId()User.Identity.GetUserName()哪些可以从View和Controller访问。我想用如下方法扩展这个功能:User.Identity.GetUserPhoneNumber()User.Identity.GetUserLanguaje() 最佳答案 类似问题:NeedaccessmoreuserpropertiesinUser.IndentityMicrosoft专业人员在codeplexworklog中的回答如下"
我在我的MVC5应用程序中使用Identity2.1。我将PasswordSignInAsync的isPersistent属性设置为true以启用“记住我”:varresult=awaitSignInManager.PasswordSignInAsync(model.Username,model.Password,true,shouldLockout:false);但是如果我整晚都保持登录状态,那么当我早上刷新页面时,它会将我注销,我必须重新登录。如何防止自动注销,直到用户手动注销?是不是和identity使用的CookieAuthentication有关?我不太了解在Startup.
我按照此处的示例代码实现了ASP.NetIdentity:https://github.com/rustd/AspnetIdentitySample在我的实现中,我检查用户是否经过身份验证——这是从我的MVCController上的FilterAttribute调用的;这个想法是我想在提供页面之前确认它们仍然是授权的。所以在我的过滤器中,最终会调用以下代码:_authenticationManager.User.Identity.IsAuthenticated;_authenticationManager在这里:privateIAuthenticationManager_authent
对于SqlDataSource,我可以为传入的参数配置外部源。例如,它可能是QueryString、Session、Profile等。但是我没有使用用户作为来源的选项。我知道我可以为插入、选择、更新、删除事件中的参数提供值。但我不认为这是一个优雅的解决方案,因为我已经在aspx文件中定义了一些参数。我不想在两个不同的地方定义参数。弄得一团糟。那么我能否以某种方式在.aspx文件中定义此参数?//User.Identity.Namegoeshereasavalueforanotherparameter 最佳答案 在您的.aspx中声明
我正在使用VS2013中新的MVC5模板附带的ASP.NETIdentity。我已经配置了外部登录提供商,因此人们可以使用Google、Facebook或Microsoft进行注册。但是,我仍然想获取人们的电子邮件地址(例如用于通知、更新等)。默认情况下,app.UseGoogleAuthentication()还将请求用户的电子邮件地址。对于Facebook,我创建了FacebookAuthenticationOptions类的新实例,并添加了以下范围:facebook.Scope.Add("email")。这也有效。我在为使用Microsoft帐户的人获取电子邮件时遇到问题。Mic