Passwords 登录物流

Passwords 登录物流,passwords,Passwords,我正在编写一套应用程序,它们都需要登录到服务器。这很好地结合在一起,但我遇到了一个物流障碍。这些应用程序的性质要求它们关闭,然后以一定的频率再次启动。每次需要启动一个应用程序时都要登录,这是非常烦人的 我正试图想出一种安全的方法,也许可以将登录信息存储在本地用户的机器上。有什么好办法可以做到这一点吗?权限保护的配置文件?登记处?Firefox如何存储其密码?你曾经做过这样的事吗 该套件更像是一种协议,所有的应用程序都是用各种语言(Python、C#、Java等)编写的,并在各种操作系统(Wind

我正在编写一套应用程序,它们都需要登录到服务器。这很好地结合在一起,但我遇到了一个物流障碍。这些应用程序的性质要求它们关闭,然后以一定的频率再次启动。每次需要启动一个应用程序时都要登录,这是非常烦人的

我正试图想出一种安全的方法,也许可以将登录信息存储在本地用户的机器上。有什么好办法可以做到这一点吗?权限保护的配置文件?登记处?Firefox如何存储其密码?你曾经做过这样的事吗


该套件更像是一种协议,所有的应用程序都是用各种语言(Python、C#、Java等)编写的,并在各种操作系统(Windows、Linux、OSX等)上运行。我并不是在寻找代码示例,而是寻找解决这个问题的更一般的方法。在本地存储密码是否明智?对于一个具有如此不同组件的套件,如何进行会话登录?现在我使用本地存储在每个应用程序中的application.rc配置文件,但它们是纯文本的,不安全。

通常,这类事情是通过使用“cookie”来完成的;(安全地)指示用户以前已成功登录到服务器资源的密钥。这就是大多数网站管理登录信息的方式,Firefox(实际上是所有浏览器)存储浏览器在用户登录时设置的cookie。关于cookie,有几点很重要:它们应该被加密,以确保恶意程序不能生成cookie,从而绕过登录过程,它们应该与服务器保留的资源相匹配(同样的原因),并且应该过期,这样,尽管您可以在站点上维护登录信息一段时间,您的登录信息不是永久性的(这是另一个安全漏洞)。

通常,这种事情是通过使用“cookie”来完成的;(安全地)指示用户以前已成功登录到服务器资源的密钥。这就是大多数网站管理登录信息的方式,Firefox(实际上是所有浏览器)存储浏览器在用户登录时设置的cookie。关于cookie,有几点很重要:它们应该被加密,以确保恶意程序不能生成cookie,从而绕过登录过程,它们应该与服务器保留的资源相匹配(同样的原因),并且应该过期,这样,尽管您可以在站点上维护登录信息一段时间,您的登录信息不是永久性的(这是另一个安全漏洞)。

我同意Jeff的观点,并假设您提到的是注册表,您指的是Windows。我还将假设您正在谈论一个桌面应用程序(否则您可以使用内置浏览器cookie来存储用户的会话)

在我脑海中,我会设计应用程序,以便当用户登录到服务器时,服务器返回一个唯一的会话id来标识经过身份验证的用户。然后,我会将than id与一个salt/encryped时间戳一起存储(这使您可以选择使缓存的凭据过期)


存储机制由您决定。您可以将它们存储在windows注册表的HKEY_LOCAL_USERS部分或windows中的应用程序数据文件夹中。两者都提供了用户分段存储的选项。

我同意Jeff的观点,假设您提到的是注册表,那么您指的是Windows。我还将假设您正在谈论一个桌面应用程序(否则您可以使用内置浏览器cookie来存储用户的会话)

在我脑海中,我会设计应用程序,以便当用户登录到服务器时,服务器返回一个唯一的会话id来标识经过身份验证的用户。然后,我会将than id与一个salt/encryped时间戳一起存储(这使您可以选择使缓存的凭据过期)


存储机制由您决定。您可以将它们存储在windows注册表的HKEY_LOCAL_USERS部分或windows中的应用程序数据文件夹中。两者都为您提供了用户分段存储的选项。

就我个人而言,我会使用加密的本地配置文件,将机器的某种ID值(主板ID、芯片ID、HD ID等)作为加密密钥的一部分,这样配置文件就不能从一台机器复制到另一台机器。我还将包括日期和时间,这样当你决定它过时时,你可以让它过期


或者,您可以创建一个主机exe或启动器,用于登录,然后在每次启动新应用程序时进入睡眠状态并将其唤醒。host exe会将应用程序作为一个参数,并决定是否请求登录凭据(通常在启动第一个应用程序时,然后将登录用户和加密密码保存在内存中。当host exe退出时,登录信息将被遗忘,当您再次启动时,循环将重新开始。)

我个人会使用加密的本地配置文件作为加密密钥的一部分,其中包含机器的某种ID值(主板ID、芯片ID、HD ID等),这样配置文件就不能从一台机器复制到另一台机器。我还将包括日期和时间,这样当你决定它过时时,你可以让它过期


或者,您可以创建一个主机exe或启动器,用于登录,然后在每次启动新应用程序时进入睡眠状态并将其唤醒。host exe会将应用程序作为一个参数,并决定是否请求登录凭据(通常在启动第一个应用程序时,然后将登录用户和加密密码保存在内存中。当host exe退出时,登录信息将被遗忘,当您再次启动时,循环将重新开始。)

Tomcat 6支持会话的持久性/复制,因此您应该注意选择管理器和c