首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ember-simple-auth在重新加载后无法获取currentUser

Ember-simple-auth是一个用于身份验证和会话管理的Ember.js插件。它提供了一套简单易用的API,帮助开发者处理用户身份验证和会话管理的相关逻辑。

在重新加载页面后,无法获取currentUser的问题可能是由于会话状态的丢失导致的。为了解决这个问题,可以采取以下步骤:

  1. 确保会话状态的持久化:在重新加载页面后,会话状态会丢失。为了保持会话状态的持久化,可以使用Ember-simple-auth提供的持久化存储机制,如cookie存储或本地存储。通过将会话信息存储在客户端,可以在重新加载页面后重新获取会话状态。
  2. 恢复会话状态:在应用程序初始化时,可以尝试从持久化存储中恢复会话状态。可以通过调用Ember-simple-auth提供的API来检查是否存在有效的会话,并获取当前用户信息。
  3. 异步加载会话状态:如果会话状态的恢复需要进行异步操作(例如从服务器获取会话信息),可以使用Ember-simple-auth提供的Authenticator和Authorizer来处理异步操作。这些组件可以帮助你在重新加载页面后异步获取会话状态,并在获取完成后更新currentUser。

总结起来,解决Ember-simple-auth在重新加载后无法获取currentUser的问题,需要确保会话状态的持久化,并在应用程序初始化时恢复会话状态。如果需要进行异步操作,可以使用Ember-simple-auth提供的Authenticator和Authorizer来处理。

关于Ember-simple-auth的更多信息和使用方法,你可以参考腾讯云的Ember.js相关文档和教程:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

聊聊类组件到函数组件的变迁

,退出组合时会自动取消协程 DisposedEffect 组件挂载 、组件更新 、组件卸载 不支持 可以监听组件的退出 1、模拟 LaunchedEffect 仅感知组件挂载的能力,例如请求网络获取到数据后设置给...除非组合项卸载并重进进入挂载状态才会触发,例如移除组件,然后又重新添加了该组件这种情况。...") } } } 组合项进入挂载状态时,Log 会打印 count = 0,触发模拟加载更多,count 值发生变化,LaunchedEffect 感知到状态发生变更,则会继续触发...DisposableEffect 的闭包是 DisposableEffectScope,而 LaunchedEffect 的闭包是 CoroutineScope,所以,DisposableEffect 无法像...DisposableEffect 提供了 onDispose 来感知监听状态的卸载操作,如上切换用户时,会触发 onDispose 卸载上一次的用户监听,并重新注册新的用户进行监听。

3.5K20

Spring 全家桶之 Spring Boot 2.6.4(六)- Web Develop(Part B)

属性,请求的body中也就没有username和password这两个key,Spring MVC也就无法获取这两个参数。...重新回到登录页面,输入错误的用户名和密码,点击登录 页面重新跳转到登录页面,没有显示login方法中定义的错误信息;要想在页面显示错误消息,需要使用Thymeleaf模板引擎;可以参考Thymeleaf...,输入错误的用户名和密码并点击登录 通过Thymeleaf模板引擎已经成功获取map中报错的错误提示消息并显示页面上。...,再次测试,浏览器的地址已经不再是表单提交的地址了,并且不会发生表单提交的问题,资源加载的问题也解决了。...Object currentUser = request.getSession().getAttribute("currentUser"); if (currentUser

1.2K30

bug 导致 77 TB数据被删光,HPE 称 100% 负责:执行过程中重新加载修改的shell脚本,从而导致未定义的变量

据京都大学声称,来自其中四个研究小组的数据无法通过备份系统来恢复。 HPE发表了一份日文声明,声称对文件丢失“承担100%的责任”。...该公司承认:“我们对这个修改的脚本的发布程序缺乏考虑……我们没有意识到这种行为带来的副作用,脚本仍在运行时就发布「更新版」,结果覆盖了脚本。”...HPE补充道:“这导致了执行过程中重新加载修改的shell脚本,从而导致未定义的变量。结果,「大容量备份磁盘存储」中的原始日志文件被删除,而原本应该删除保存在日志目录中的文件。”...京都大学已暂停了受影响的备份流程,但计划在解决程序中的问题本月底之前恢复。它建议用户将重要文件备份到另一个系统。 京都学校和HPE都声称,他们将采取措施防止此类事件再次发生。

1.9K20

不解释,全网最全Shiro认证与授权原理分析

都是Apache的项目,因此底层默认采用了log4j的日志框架,如果不引入对应的日志依赖,会报错或无法打印日志。...() + "] logged in successfully."); // 10.检查是否有指定角色权限(前面已经通过Environment加载了权限和角色信息) if (currentUser.hasRole...上述代码中包含了11个主要的流程: 1、初始化环境,这里主要是加载shiro.ini配置文件的信息; 2、获取SecurityManager安全管理器; 3、获取当前主体(用户); 4、获取当前主体的会话...在实践中,可根据具体情况进行初始化,比如实例中通过Environment加载文件,也可以直接创建DefaultSecurityManager,web项目采用DefaultWebSecurityManager...认证原理分析 认证的入口程序是login方法,以此方法为入口,进行跟踪,并忽略掉非核心操作,可得出认证逻辑经过以下代码执行步骤: //currentUser类型为Subject,构造了SecurityManager

67510

web的监听器,你需要知道这些...

二、Listerner的分类 Listerner分为八种,前三种是用于监听对象的创建和销毁,中间三种用于监听对象属性的变化,两种用于监听Session内对象。...servletContextListener:监听context的创建与销毁,context代表当前web应用,该listener可用于启动时获取web.xml的初始化参数。...ServletRequestAttributeListener HttpSessionBindingListener,监听对象存入或者移除 session httpSessionActivationListener,钝化和重新加载...valueUnbond(); httpSessionActivationListener,服务器关闭,会将session的内容保存在硬盘里,这个过程叫钝化;服务器重启,会将session的内容从硬盘中重新加载...钝化时执行sesionWillPassivate(),重新加载sessionDidActivate(); 举个例子: public class User implements HttpSessionBindingListener

57450

生产环境一次诡异的NPE问题,反转了4次

在线程池中,由于线程会被多次复用,导致从普通的ThreadLocal中无法获取正确的用户信息。父线程中的参数,没法传递给子线程,而TransmittableThreadLocal很好解决了这个问题。...接下来,api服务的下层,即business层的方法中,就能轻松通过CurrentUser.getCurrent();方法获取到想要的用户上下文信息了。...如果business中的某个方法刚开始是给api开发的,方法深处使用了CurrentUser.getCurrent();获取用户上下文。...上面的伪代码只给出了设置用户上下文的关键代码,用完,删除用户上下文的代码没有给出,感兴趣的朋友可以找我私聊。 既然有获取用户信息的地方,我猜测必定有设置的地方。...这个设计比较巧妙,完美的解决了mq的消费者中通过CurrentUser.getCurrent();无法获取用户信息的问题。 此时线索一下子断了,没有任何进展。 我再去查了一下服务器的日志。

42330

Excel催化剂开源第3波-修复ExcelCom加载项失效问题及WPS可调用Com加载项的方法

为了还原一个干净无侵扰的网络世界,本文将不进行大规模地分发,若您觉得此文有用,不妨小范围地分享到真正有需要的人手中 功能概述 修复ExcelCom加载项常见问题,如每次需重新勾选COM加载项或COM加载项被列入禁用清单中不用使用...,同时也提供让WPS计用COM加载项的方法 使用场景 因用户使用COM技术开发的加载项过程中,难免各种意外操作,致使加载项处理非活动状态或失效状态,虽然可以通过界面的方式去解决,但步骤偏多,对普通用户来说...WPS调用COM加载项原理,也只是注册表上新增几个条目,让WPS可以通过查找注册表,找到COM加载项所在位置并调用它。...//TODO:检查Addin注册表 CheckRegister(); //增加WPS可识别VSTO插件的方法,具体需要看真正安装的注册表路径及项目名称是什么而定...} } } } 开源地址为:https://github.com/minren118/ExcelUdfByExcelCuiHuaJi,不妨对您有帮助时帮忙GtiHub

1.1K10

基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理

基类里面,我们可以在用户登陆获取菜单的数据放到ViewBag对象里面。 ? 具体代码如下所示,先判断用户是否登陆,如果登陆,则获取用户的菜单数据,存在ViewBag里面待用。...return GetMenuString(); }, null, DateTime.Now.AddMinutes(5) //5分钟以后过期,重新获取...由于Bootstrap一般把JS文件放到最后加载,因此我们布局页面保留部分必备的Jquery等脚本外,还需要把脚本部分内容放到页面底部进行加载,并且我们脚本加载可以利用MVC的Bundles技术进行压缩整合处理...这样,我们各个子页面的视图里面,引入布局视图页面,只需要编写个性化展示内容的部分即可,具体代码如下所示。 ?...然后页面底部,包含所需部分的脚本代码即可,这样页面生成,就会依据布局页面设置好的顺序块,进行合理的展示,并且是把所有部分内容进 ? 行整合了。

3K50

监测与调试 Vue.js 的响应式系统:计算属性树(Computed Tree)

首先,计算属性的值是被缓存起来的,以便在它计算出来之后就一直可用计算的值,只有当它的缓存失效才会被重新计算,换句话说,只在其依赖的数据发生改变时它们才会重新求值。 我们再来看看之前的例子。...当渲染函数执行时,将会访问已经被标记为 dirty 的 validCurrentUser,它将重新运行它的 getter 函数,进而访问同样需要更新的 currentUser。...这意味着一个组件将发生更新,即使它所依赖的计算属性重新计算的值并没有发生变化,这种更新显然没有什么意义。 其中一些逻辑可以阅读一下 watcher 类源码的优雅实现,代码量 240 行左右。...记住,响应式机制在下面这些情景下起作用: 对象 数组 对象的属性 最后一个情景很有可能被忽略,因为开发者工具中是无法浏览它的 Dep 类实例(译者注:__ob__)。...所以我们应该怎样获取 getter 的名称呢?开发者工具中你通常可以访问 [[Scopes]],你可以 [[Scopes]] 中找到它的名称,然而这并不是通过编程的方式来获取的。

97220

监测与调试 Vue.js 的响应式系统:计算属性树(Computed Tree)

首先,计算属性的值是被缓存起来的,以便在它计算出来之后就一直可用计算的值,只有当它的缓存失效才会被重新计算,换句话说,只在其依赖的数据发生改变时它们才会重新求值。 我们再来看看之前的例子。...当渲染函数执行时,将会访问已经被标记为 dirty 的 validCurrentUser,它将重新运行它的 getter 函数,进而访问同样需要更新的 currentUser。...这意味着一个组件将发生更新,即使它所依赖的计算属性重新计算的值并没有发生变化,这种更新显然没有什么意义。 其中一些逻辑可以阅读一下 watcher 类源码的优雅实现,代码量 240 行左右。...记住,响应式机制在下面这些情景下起作用: 对象 数组 对象的属性 最后一个情景很有可能被忽略,因为开发者工具中是无法浏览它的 Dep 类实例(译者注:__ob__)。...所以我们应该怎样获取 getter 的名称呢?开发者工具中你通常可以访问 [[Scopes]],你可以 [[Scopes]] 中找到它的名称,然而这并不是通过编程的方式来获取的。

1.3K30

React Native发布APP之签名打包APK

签名打包的APK已经从开发环境变成了生产环境,自然不会在每次启动的时候连接JS Server加载相应的js文件。所以导致APP因缺少相应的js而无法启动。...结论 开发环境下,为方便调试,APP会在启动时从JS Server服务器将index.android.bundle文件加载到APP。...签名打包的APP变成了生产环境,此时APP会默认从本地加载 index.android.bundle文件,由于通过Android Studio打包的APK没有将index.android.bundle...上文中直接将证书密码以明文的形式写在了gradle.properties文件中,虽然可以将此文件排除版本控制之外,但也无法保证密码的安全,下面将向大家分享一种方法避免gradle中直接使用明文密码。...我们可以通过将发布证书密码委托“钥匙串访问(Keychain Access)”工具中,然后通过gradle访问“钥匙串访问”工具来获取证书密码。

2.5K50

网站建设教程:PageAdmin Cms如何进行用户权限判断

PageAdmin作为国内一款优秀的cms网站内容管理系统,国内拥有庞大的用户群,小编我很多客户的网站也采用这个系统制作,最近有个客户需求是;用户需要先登录才能浏览页面,看了官方文档总结了一下,希望对大家有帮助...1、识别CurrentUser类,登录的信息会保存在这个类中,这个类包含8个属性,分别如下: public class CurrentUser { public int Uid { get;...,演示代码如下: @{ CurrentUser currentUser = ViewBag.CurrentUser; //获取当前登录用户 int uid=currentUser.Uid; //...获取用户Id,未登录uid为0 string userName=currentUser.UserName;//获取用户名 //其他的属性可自行获取 } 3、获取到登录状态类,通过判断Uid...的值是否大于0就可以判定是否登录,演示代码如下: @{ CurrentUser currentUser = ViewBag.CurrentUser; //获取当前登录用户 int uid=currentUser.Uid

62000

Shiro框架学习笔记(二)基于内置ini文件的身份认证

我们先通过控制台程序先测试,之后会集成到web项目中,接下来就是程序代码: // 定义main函数测试效果 // 创建 "SecurityFactory",加载ini配置,并通过它创建SecurityManager...SecurityUtils.setSecurityManager(securityManager); // 获得Subject,通过subject可以执⾏shiro的相关功能操作(身份认证或权限校验等) //几乎所有操作,除了加密,因为加密是其他模块,可以架构图看到...直接由用户使用,调用功能简单,其底层调用Securitymanager的相关流程 Subject currentUser = SecurityUtils.getSubject(); // 身份认证(...(Subject) System.out.println("User [" + currentUser.getPrincipal() + "] logged in successfully."); //...对象,之后将该对象交由SecurityUtils来进行管理,之后进行身份验证时主要是通过获取SecurityUtils获取到当前的登录用户,之后通过该用户的用户名以及密码创建相应的令牌,之后通过subject.login

34730

ASP.NET Core 2.0 MVC - 获取当前登录用户信息

获取当前登录用户的整体思路,我们可以通过创建一个静态的用户类,存储当前登录的用户。通过将属性值存储session中,从而存储到服务器的内存中,做到可以系统全局中获取当前登录用户的数据信息。   ...传统的MVC项目中我们可以直接使用HttpContext.Current.Session获取到session,从而做到对于数据的取值、赋值;而在ASP.NET Core MVC中,并没有HttpContext.Current.Session...value : ""); 79 } 80 81 #endregion 82 }   当我们创建好了这样一个静态类,我们就可以登录成功,将当前登录的用户信息赋值给这个静态类...,这样我们就可以需要使用到的地方直接使用CurrentUser这个静态类即可。...在当时实际使用后发现,想要获取到登录存储的用户信息,则必须在Controller的构造方法中调用CurrentUser的Configure方法,无形中还是增加了许多的工作量。

2K20

React学习笔记(四)—— 组件通信与状态管理、Hooks、Redux、Mobe

当用户 UserList中点击一条用户信息时,UserDetail需要同步显示该用户的详细信息,因此,可以把当前选中的用户 currentUser保存到UserListContainer的状态中。...={currentUser} /> ) } } 运行效果: 解释:子组件UserList中添加一个username,通过onAddUser将username传入父组件...React提供了一个context上下文,让任意层级的子组件都可以获取父组件中的状态和方法。...React提供了一个context上下文,让任意层级的子组件都可以获取父组件中的状态和方法。...六、作业 6.1、使用多种方法实现页面加载完成时让搜索文本框获取焦点,侧重练习ref的使用。 6.2、完成所有的上课示例。

4.6K40
领券