- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
场景:
如果应用程序终止,我想调用注销函数。我可以使用 native 代码来做到这一点:
- (void)applicationWillTerminate:(UIApplication *)app
{
// Run Logout function
}
问题:
如何在 IBM mobilefirst 混合应用程序中执行此操作?
//************************************************* ***
已编辑
首先,用户登录到应用程序,如果用户输入正确的用户名和密码,它会将用户身份添加到“loginRealm”。
WL.Server.setActiveUser("loginRealm", userIdentity);
接下来,用户关闭应用程序而不注销。因此,当用户再次登录时,MFP 服务器将不会返回任何反馈,因为它会遇到此异常:
Cannot change identity of an already logged in user in realm 'loginRealm'. The application must logout first.
因此,我必须通过在适配器中将“loginRealm”设置为空来从 MFP 服务器注销用户;
WL.Server.setActiveUser("loginRealm", null);
上面这行代码位于authentication-config.xml中定义的注销函数中。
客户端设备运行这行代码,将会触发注销功能。此外,它会在成功时重新加载应用程序:
WL.Client.logout('loginRealm', {
onSuccess: WL.Client.reloadApp
});
我尝试过的步骤:
1) 在 WlcommonInit() 我添加了 WL.Client.updateUserInfo();如果 WL.Client.isUserAuthenticated("loginRealm") 返回 true,我将从服务器注销用户。但是,WL.Client.isUserAuthenticated("loginRealm") 将始终返回 false。这是因为,在 WL.Client.updateUserInfo(); 之后,标志需要花费一些时间(30 秒到 2 分钟)才能变为真。所以我的登录仍然失败并遇到同样的错误。
2) 我试图在用户单击登录按钮期间注销用户。但是由于reloadApp,应用程序会刷新并再次返回登录页面。我从 IBM mobilefirst 网站获得的注销代码。因此用户需要点击并输入 2 次才能登录到主菜单。
WL.Client.logout('loginRealm', {
onSuccess: WL.Client.reloadApp
});
我做错了吗?或者是否有任何其他方法可以让 WL.Client.isUserAuthenticated("loginRealm") 在 WL.Client.updateUserInfo() 之后立即返回 true; ?我们可以删除注销功能中的 reload app 这行代码吗?
最佳答案
我认为这是不可行的,因为注销功能(在 MFP 中)将需要服务器连接(请求和响应),如果应用程序当时被终止,我认为这将导致不可预测的结果。
请注意,尽管似乎不建议使用该功能? applicationWillTerminate when is it called and when not
为了模拟它,您可能应该做的是登录时注销,这样在打开应用程序时就会出现该应用程序已注销的情况。您可以延长启动屏幕的持续时间,以便最终用户不会看到她/他已登录(如果 session 在应用程序关闭和重新打开之间仍然存在),直到真正注销并然后您可以再次显示登录屏幕或任何其他需要的屏幕。
关于ios - IBM MobileFirst 混合应用程序中的 iOS applicationWillTerminate 等效项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33950050/
在我的项目中,即使我使用build设置和部署目标更改我的服务器主机,客户端属性也不会在 wlClient.properties 中更改文件,但是上下文路径更改为新的,服务器主机 url 现在指向我的本
IBM MobileFirst Platform Application Center Console 和 MobileFirst Foundation V8.0 之间有什么区别?它是一个单独的控制台
我已经安装了 MobileFirst 7 for Eclipse (CN4V3EN),但在部署项目环境时遇到问题。 我采取的步骤: 创建了一个 MobileFirst 项目 -> 混合应用程序并为其命
我们如何在 Mobilefirst 平台上实现添加到任何社交网络小部件以在 facebook、twitter 等中分享照片。 我已经尝试过 http://www.addthis.com/ 的插件 它正
我正在尝试使用 IBM mobilefirst 平台中的 SQL 适配器将数据插入数据库,但是我的代码遇到了失败函数... 主要.js: function insertData(){ alert(
我有一个 Cordova 插件,可以成功从另一个 MobileFirst 应用程序启动一个 MobileFirst 应用程序,并且在启动的应用程序中成功接收来自启动应用程序的数据。 (与此 Launc
我在从 first hybrid app 构建/运行 HelloWorld 应用程序时遇到了一些问题教程。 当我尝试在 MobileFirst Development Server 上运行默认的 He
我正在使用 mobilefirst 平台 v7,我使用 WLResourceRequest/sendFormParameters api 发送发布请求,但是,我无法从 js 适配器端获取提交的参数..
我已经安装和配置了以下项目: 已安装 IBM WebSphere Application Server Liberty Core(版本 8.5.5) 已安装 IBM MobileFirst Platf
MobileFirst Foundation SDK 推送通知接收器似乎无法区分来自 MobileFirst 的通知和来自其他来源的通知。 我们正在尝试在我们的应用程序中实现推送通知,以便它可以从多个
我正在尝试从 MFP 服务器中提取一个 20MB 的文件。所以,我在我的客户端应用程序中编写了以下代码。 var resourceRequest = new WLResourceRequest("/a
我想问一下如何在 2 个 MobileFirst 应用程序之间传输数据。 Mobilefirst 是否有用于在 2 个加密的 JSONStore 之间传输数据的 API? 或者 我们必须使用 nati
IBM MobileFirst™ Platform Foundation 维护一个设备 ID 数据库表,以及其他与设备相关的元数据,以启用此功能。除了数据库中的设备 ID 列外,还保留了一个状态列。可
我正在使用我的办公室笔记本电脑(Lenovo vV310 - 8GB RAM - 64 位操作系统 - Windows 8.1)。过去几天,我一直在尝试解决 IBM Mobile First Plat
我们正在尝试使用 org.JSON.JSONObject 库在适配器端进行一些密集的 json 处理。我们有 Java 类来处理从 http 适配器接收到的数据。 mobilefirst 6.3.0
IBM MobileFirst 8 是否支持 Ionic 3 和 Angular 4。我看过 Ionic 2 的博客和文档,那么 Ionic 3 呢? 提前致谢。 最佳答案 Mobilefirst P
我正在使用安装在 Eclipse Luna 中的 IBM MobileFirst 7.0。 我在同一个项目中有 2 个应用程序:移动应用程序和控制台应用程序。 每当我运行控制台应用程序时,我都会收到以
在成功安装和配置 MobileFirst 7.0 服务器后,当我尝试部署应用程序 => 选择 MF studio/bin 文件夹中的 .wlapp 文件。 下面是来自 Tomcat 日志文件的一些日志
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
是否可以从项目中删除移动环境,例如 Blackberry 和 Adobe Air 环境。例如 mobilefirst add environment 有助于添加环境,但是否有删除环境的命令? 最佳
我是一名优秀的程序员,十分优秀!