草庐IT

service_identity

全部标签

c# - 在 ASP.NET Core Identity UI 中更改路由?

我正在使用新的IdentityUI自ASP.NETCore2.1发布以来可用的包。使用新生成的MVC项目,这里有一些可用的页面URL:/Home/About/Home/Contact/Identity/Account/Login/Identity/Account/Register如何配置路由以从URL中删除/Identity/部分? 最佳答案 看起来这还不可能。查看源码,很明显Area名称是hardcodedinIdentityDefaultUIConfigureOptions:privateconststringIdentityU

c# - ASP.NET Identity 2 UserManager 让所有用户异步

有人能告诉我是否有办法让ASP.NETIdentity2中的所有用户异步吗?在UserManager.Users中没有任何异步或发现所有异步或类似的东西 最佳答案 无法直接使用UserManager类异步执行此操作。您可以将其包装在您自己的异步方法中:(这可能有点邪恶)publicasyncTask>GetUsersAsync{returnawaitTask.Run(()=>{returnuserManager.Users();}}或者使用ToListAsync扩展方法:publicasyncTask>GetUsersAsync()

c# - ASP.NET Identity 2.0 检查当前用户是否在角色 IsInRole

使用ASP.NETIdentity2.0如何检查当前登录的用户是否在某个角色中?我正在使用以下内容,但想知道是否有更有效的方法。varum=newUserManager(newUserStore(newDbContext()));varau=um.FindByEmail(Context.User.Identity.GetUserName());varinrole=um.IsInRole(au.Id,"Admin");if(inrole){} 最佳答案 ASPIdentity中的正确方法很简单User.IsInRole("rolena

c# - 为什么 asp.net Identity 用户 id 是字符串?

我想使用System.Guid类型作为我在asp.netwebapi应用程序中所有表的ID。但我也使用Asp.netIdentity,它使用string类型的id(也用于存储guid)。所以我想知道为什么它默认使用stringid而不是System.Guid?在所有应用程序中使用什么是更好的选择-Guidid或string-guidid?如果使用字符串-生成新ID的最合适和最可靠的方法是什么-在代码中还是在数据库中? 最佳答案 使用ASP.NETCore,您可以通过一种非常简单的方法来指定您想要用于Identity模型的数据类型。第

c# - Service Fabric 单元测试和依赖注入(inject)

我无法通过仅调用其构造函数然后测试其方法来测试ReliableService/Actor。vartestService=newSomeService();抛出NullReferenceException。那么我可以用部署的服务做什么..我知道部署的SFReliableServices/Actor不是标准的.NET类,对部署的S/A进行单元测试可能是一个奇怪的想法。无论如何,现在我正在尝试一下。例如。我刚刚部署了一个服务,而不是在测试中我创建了一个代理对象并将项目添加到服务的输入队列中。然后我需要断言输入队列计数=1。如果我刚刚部署了一个服务并且没有其他客户端/服务/参与者使用它的输入队

c# - 如何使用 ASP.NET Identity Framework 设置密码过期

我有一个使用Identity的ASP.NET项目。对于与密码有关的身份配置,正在使用PasswordValidator。如何将密码的强制执行扩展到PasswordValidator当前(RequiredLength、RequiredDigit等)之外以满足要求输入密码的要求N天后到期? 最佳答案 没有内置ASP.NETIdentity2的此类功能。最简单的方法是在用户上添加一个字段,如LastPasswordChangedDate。然后在每次授权时检查这个字段。publicclassApplicationOAuthProvider:

c# - 撤销 UserTokenProvider 在 ASP.NET Identity 2.0 中生成的 token

有没有办法撤销例如由ASPNETIdentity2.0中的用户管理器生成的电子邮件确认token?上下文我想让用户重新发送确认电子邮件。为此,我生成了一个新token:UserManager.GenerateEmailConfirmationTokenAsync(user.Id),并发送一封包含新生成token的电子邮件。不幸的是,当我这样做时,之前生成的token仍然有效,有没有办法撤销它们?示例代码在UserManager类中:manager.UserTokenProvider=newDataProtectorTokenProvider(options.DataProtection

javascript - 如何在 service_worker.js 所在的目录上方的一个目录中注册 Service Worker 的作用域

我的目录如下。public_html/sw/“sw/”是我想放置所有服务worker的地方,但随后这些服务worker的范围是“public_html/”中的所有文件。JSif('serviceWorker'innavigator){navigator.serviceWorker.register('sw/notifications.js',{scope:'../sw/'}).then(function(reg){//registrationworkedconsole.log('Registrationsucceeded.Scopeis'+reg.scope);}).catch(fun

javascript - 将字符串附加到 Service Worker 中的用户代理

我一直被这个问题困扰了一段时间。我进行了深入研究,并花了很多时间研究关于SO的类似问题-但没有成功。一些背景知识。我有一个网站和一个Android应用程序,它可以有效地以不同的形式呈现网站,并具有不同的显示等......该应用程序知道从传入请求中执行此操作-因为用户有一个特定的字符串附加到用户代理(我们只是说字符串是“MobileAppRequest”)。在用户代理中检测到这个字符串后,服务器知道返回一个不同的html文件。这允许用户仍然通过他们的浏览器访问该网站并使用网络版本以及从他们的Android应用程序中获得应用程序体验。现在,在使用serviceworker时,它默认为用户的

javascript - Service Worker(或类似的东西)中的长时间运行的进程

我有一个使用IndexedDB存储其状态的客户端JS应用程序。工作正常。但是,它有点慢,因为我经常读取和写入IndexedDB,以便在打开多个选项卡时状态不会变得不一致。我的想法是...将所有数据库访问内容放入ServiceWorker中,然后我可以将值缓存在内存中,而不必担心另一个选项卡可能会更改数据库。这似乎工作正常,除了我的应用程序的某些部分需要很长时间才能运行。我可以将ServiceWorker的状态(比如“X%完成”)传达给我的UI。但是如果运行时间超过30秒,Firefox和Chrome似乎都会杀死worker,这对我来说太短了。有什么办法可以绕过这个限制吗?如果没有,有什