我的任务是更换现有的Adobe Flash& Flex应用程序在带有Angular应用程序的ColdFusion 11后端上运行。
假设用户将在他们甚至能够访问Angular应用程序页面之前已经登录并拥有会话,并且我不允许用户请求新登录,或者让他们单击其他链接可以使他们的深层链接发挥作用。
我创建了一个SessionService,它成功获取Coldfusion会话变量并将它们存储在Session模型中。
我的意图是,基于现有的应用程序架构,我们将实现延迟加载功能模块。
我的问题在于,我需要从ColdFusion会话中获取数据,以验证用户是否有权在我尝试加载该功能之前查看该功能,并且自99%或更多访问将来自功能模块的深层链接,不能保证会话服务已被调用。
路由解析器似乎发生在事件序列中的Route guards之后,因此我正在努力确保CanLoad警卫能够从SessionService访问成功加载的Session模型。
编辑:下面的澄清......
canLoad依赖于会话和权限级别的值,必须根据它们要访问的页面进行检查。
例如......深层链接页面是一个查看单元详细信息的页面
http://url/app/feature/childFeature?unitId=123&orderId=456
需要将会话用户分配给该特定unitId,并且必须具有该childFeature的viewAccess权限,该权限在数据库的表中定义
所以,我需要知道网址参数' unitId'在canLoad后卫,我不相信我可以访问路线???然后我需要使用viewAccess权限检查的结果进行逻辑AND,并将其作为canLoad的结果返回。
任何指导?
提前致谢!
答案 0 :(得分:2)
你可以在下面试试,
在 DateTime createDateTime = new DateTime(dataset.getDate("createDateTime"));
Log.d("Time I get is",createDateTime.toString());
中,创建一个在加载会话模型后将会发出的主题,
<强> SessionService 强>
2015-12-16T00:00:00.000+08:00
canLoad功能子模块
SessionService
希望这会有所帮助!!