我有一个基于Play框架和Scala的Web应用程序。此应用程序连接到Cassandra db,它有许多关键空间。我有不同的用户,每个用户属于一个不同的单位(我们可以说每个单位作为一个键空间)。假设我有用户名作为零售和制造,如果我使用用户名作为零售登录,它连接到零售密钥空间,并从表中提供属于零售密钥空间的数据,如果我使用用户名作为制造商登录,它给我来自属于制造密钥空间的表。
现在的问题是,如果我使用零售从chrome登录,它会从零售空间给我数据,如果我打开firefox并使用制造商登录 它连接到制造密钥空间并检索该密钥空间的数据,现在如果我回到我用零售用户名登录的chrome 并执行从制造密钥空间而不是零售密钥空间检索数据的任何操作。应用程序总是切换键空间 最新登录用户名的功能。我如何克服这一点。
答案 0 :(得分:0)
听起来您正在使用单例(全局变量)来存储所有用户共享的唯一键空间,或者每个用户至少一个键空间。您想要的是为每个用户会话提供自己的密钥空间。有几种方法可以保存和恢复每个会话的用户密钥空间信息:
Play Framework documentation包含有关此主题的信息。