我的建议是停止使用胖客户端并准备将其移至基于 Web 的客户端。这将允许一个中心连接点,并且当您需要他们执行所述更新时,您不会让用户不更新他们的客户端。
您可能要考虑的架构是应用程序服务器,例如 Django(因为您使用的是 Python)。将会发生的事情是将应用程序(瘦客户端)部署到 Django,用户现在将通过服务器为他们吐出的会话连接到这一部分。通过这样做,您可以从一个位置管理所有用户并根据需要翻转开关。归根结底,这也降低了软件的维护成本和尝试对桌面客户端进行故障排除所花费的时间。
评论
那么,例如,程序启动,连接到服务器并从中构建其设置?配置是如何发生的?我会让程序反复检查服务器是否有更改,还是有更好的方法?
它的工作方式是有两种类型的配置文件。一种是用户定义的,例如,如果用户偏好以蓝色显示文本并且您存储该信息,服务器并不关心它,因为它们通常存储在本地。
现在就服务器配置文件而言,您可以做几件事:
通过角色配置权限
这需要您根据用户的角色更新用户的权限。发生此更新时,您必须终止所有将受到影响的活动会话,以便新权限影响这些用户,或者您可以等待会话自行超时并获取新权限。
修改应用服务器设置
这需要关闭应用程序,例如需要处理的维护问题,即补丁。
该程序不轮询服务器,服务器向下推送到客户端。这甚至不完全正确,客户端连接到服务器,如果有新数据,客户端通常通过套接字接收它。您的会话将存储大部分信息,这就是为什么需要定期刷新/销毁它(注销等)。
就程序获取其设置而言,是的。用户有连接到应用程序的“虚拟”终端,这些帐户通常是只读的。因此,他们不能修改服务器的内容,也不能出于安全目的进行修改。当用户连接时,应用程序将连接到数据库并检索凭据(您也可以使用证书,我推荐这种方法)。根据用户与应用程序连接的凭据,将向用户提供基本“配置文件”以及服务器知道的任何用户特定信息,即显示名称/上次登录日期。