我想知道最好的方法是什么。基本上我的程序的行为类似于PC的Steam应用程序,或者自动登录用户的Spotify。
换句话说,用户在我们的网站上创建了一个在线帐户。通过此帐户登录(电子邮件和密码),他们可以登录我们的c#应用程序并访问该程序的功能。
我的工作正常,因为c#app通过互联网安全地连接到一个支持SSL的Web服务,该服务访问网站的数据库并验证登录信息。我希望这一步是自动化的,所以一旦他们启动程序,它应该自动登录,只要他们至少登录过一次。
最好的方法是什么,而不是破坏他们的登录信息的安全性?
答案 0 :(得分:0)
创建一个db表,假设它叫做userlogged。 每次用户成功登录时都创建一个GUID。将该GUID存储在用户登录中并将其返回到您的c#应用程序,以便它可以存储在本地(您可以使用Windows注册表,使用Windows注册表(regedit)或任何您想要的更难任何人都可以复制它。)
下次如果GUID存储在本地,将发送到您的应用程序,您的应用程序将记录该用户,并创建一个新的GUID,也将被发送到本地存储(如果有人复制GUID)不会有2个用户同时登录。)
如果日志记录失败,请从数据库中删除GUID。
同时设置一个标志,这样如果用户已经从GUID登录,他将被要求再次登录以进行一些与安全相关的操作,例如更改密码。
答案 1 :(得分:0)
好吧,如果我正确理解你的问题,你想安全地存储用户ID和密码。并在应用程序启动时使用它们进行登录。
它有两个部分
安全性 - 如何保护密码
您可以保留许多位置信息。应用程序配置文件,注册表,INI,本地存储,数据库等。我将留待您做出决定。
希望这有帮助。