标签: usersession

如何使用parse终止重复的用户会话?

我希望我的PFSession是独占的,意思是,如果用户已经在某个位置的某个设备上登录,如果另一个设备使用相同的凭据登录,我希望先前的会话终止,并显示一条消息警报视图当然.有点像旧的AOL即时消息格式.那么有谁知道我会如何快速地这样做?它需要CoreLocation吗?

我在当前用户位置找到了这篇文章,如何将其作为我问题解决方案的一部分?

https://www.veasoftware.com/tutorials/2014/10/18/xcode-6-tutorial-ios-8-current-location-in-swift

UPDATE

所以我刚刚阅读了关于其可撤销会话设置的解析文章

http://blog.parse.com/announcements/announcing-new-enhanced-sessions/

但是,当我使用其他设备登录同一帐户时,会话被允许相应地生活,这是我不想要的.我该如何解决我的困境?

UPDATE

我已经得到了关于如何实现我想要实现的整体方法的非常详细的描述:

在此输入图像描述

但是我不太熟悉云代码实现,有人可以非常简单地描绘一段与他试图转发给我的代码相似的代码吗?

UPDATE

所以我做了一些更多的研究,并且在我关于如何在解析中使用云代码调用方面被告知,并且我想要销毁currentUser的先前会话,我在登录中写了以下代码"成功"逻辑:

            PFUser.logInWithUsernameInBackground(userName, password: passWord) {
        (user, error: NSError?) -> Void in
        if user != nil || error == nil {
            dispatch_async(dispatch_get_main_queue()) {
                self.performSegueWithIdentifier("loginSuccess", sender: self)

                 PFCloud.callFunctionInBackground("currentUser", withParameters: ["PFUser":"currentUser"])
                    //..... Get other currentUser session tokens and destroy them

            }

        } else {
Run Code Online (Sandbox Code Playgroud)

如果那甚至是正确的格式或代码,但我确定这是正确的方向吗?任何人都可以编辑或扩展我想要实现的代码吗?

xcode ios usersession parse-platform swift

7
推荐指数
1
解决办法
2140
查看次数

单页应用程序(SPA)的零停机/蓝绿部署

昨天我们与团队一起讨论了使用零停机部署来支持我们的单页面应用程序的可能性.

在讨论它时,我们确定了一个边缘案例.用户在浏览器中加载页面后,在重新加载页面之前无法从内存中删除该页面.这意味着如果用户加载页面并开始使用网站(例如开始输入类似我现在正在做的长篇文章),那么在重新加载页面之前,他无法收到它的更新版本.

我们可以忽略用户在浏览器中看到旧应用程序版本的事实,但下面列出了2个点.

  1. 如果我们引入用于服务spa的HTTP Api的重大更改,那么用户将无法保存他的文章(数据丢失!),或者在执行其他后端相关操作时可能会收到一些其他错误.
  2. 当用户导航到新页面而不重新加载SPA时,他可以接收下一页的模板或与外部旧容器不兼容的某些控件的模板.它可以帮助破坏标记或应用程序逻辑.
  3. 我们不能强迫用户重新登录,因为他可能正在打字他的文章,这只是一个糟糕的用户体验.

考虑到所有这些要点,可以提出以下解决方案:

  1. 用户1将SPA的v1加载到他的浏览器中.
  2. 除了auth令牌之外,版本信息也会发送到浏览器(例如使用JWT).
  3. 我们想部署应用程序的v2版本.我们启动v2版本,但不禁用v1.
  4. 用户2将SPA的v2加载到他的浏览器中
  5. 用户1进入SPA的下一页.负载均衡器检查其令牌中的版本信息,并将用户1的流量路由到v1服务器.
  6. 用户2以相同的方式路由到v2.
  7. 用户1注销应用程序并关闭浏览器.
  8. 用户1登录 - 这次他收到v2.
  9. v1应用程序长时间没有收到任何流量后会被处理掉.

然而,在这种方法中,可以使多个版本存活,超过2个(例如,如果用户在一整天或两天内保持在线).这意味着在最后一个用户注销之前我们将无法将数据库迁移到新架构(图像如何对Facebook等网站起作用).拥有多个版本不是问题,但Docker和Rancher等工具可以让我们轻松完成.

同样在步骤7.用户需要重新加载页面或关闭浏览器 - 否则他仍将使用v1,我们不能强迫他进入下一个版本.

我的问题是您使用什么方法来实现单页面应用程序的零停机/蓝绿部署?

当您将流量切换到"绿色"版本时,如何管理应用程序的"蓝色"版本的生命周期,尤其是在现有的"蓝色"客户端应用程序方面.

你有没有解决这些问题,你知道其他任何解决方案吗?

downtime usersession single-page-application blue-green-deployment docker

6
推荐指数
2
解决办法
946
查看次数

WCF本地只有NamedPipe

这是我的问题的一个简单例子.我正在编写一个自托管WCF服务的应用程序,仅在用户会话中进行通信.当多个用户在终端服务计算机上同时运行此应用程序时,只要他们没有本地管理员权限,所有用户都会感到满意.如果两个或多个用户是管理员,第一个用户创建服务,第二个用户,因为服务已创建全局...

没有WCF的简单Win32实现将创建一个带有"Local"前缀的命名管道.WCF似乎首先尝试创建全局共享内存映射,然后失败,然后创建本地映射.

有没有人找到一种方法来自我托管当前用户会话本地的WCF服务,即使该用户是本地管理员?

wcf named-pipes self-hosting usersession

5
推荐指数
1
解决办法
856
查看次数

Keycloak H2 数据库中的空 SESSION 表

我使用 Keycloak 15.0.2 和默认的 H2 数据库。我已经登录了多个用户,并且可以在 Keycloak 会话选项卡中获取活动会话,但在数据库中,我看不到与 USER_SESSION 和 CLIENT_SESSION 等会话相关的所有表中的任何条目。

有人对我如何获得这些条目有任何建议吗?

提前致谢。

database session usersession h2db keycloak

2
推荐指数
1
解决办法
835
查看次数

如何在我的数据库中存储电报机器人用户的会话

我想编写一个电报机器人,因此当我要接收来自用户的消息时,我应该知道他/她发送给我的最后一条消息以及他/她位于哪个步骤。所以我应该存储用户的会话(我在搜索时理解了这一点),但我不知道我到底应该做什么?

我知道我需要在数据库中存储 UserId、ChatId 的表,但我不知道这些:

  1. 如何为步骤创建根并将它们存储在数据库中(我的意思是如何了解用户现在所在的位置)

  2. 我还需要将哪些列存储为会话?

  3. 我应该在数据库中存储多少条消息?每条消息都需要一行吗?

session user-input usersession telegram-bot

1
推荐指数
1
解决办法
6991
查看次数