我的团队设计了许多在组织内部使用的应用程序。我们使用的是MySQL数据库,并不关心在每个用户的基础上跟踪MySQL访问,因为这是不必要的。我们已经建立了基于应用程序的用户帐户,这样我们就可以在每个应用程序的基础上监视使用和访问,并且我们设计了这些应用程序来自动登录,只要用户为该特定应用程序指定了访问权限。
目前,我们正在将登录信息存储在DSN文件中,在应用程序中创建连接时会读取这些文件。这是将登录信息从应用程序中分离出来的最简单方法,因为这些信息有时需要更改。但是,这显然不是很安全,因为任何找到DSN文件的人都会拥有应用程序的用户和密码。
我们还使用了C#应用程序中的参考资料文件来管理登录。
展望未来,我想考虑更好的管理这些应用程序密码的方法。如上所述,我们不想维护用户帐户,因为这将是太多的维护.对于我们来说,应用帐户是一个很好的平衡,因为我们没有太多的帐户,但至少能够在每个应用程序的基础上跟踪使用情况。
我不是在找关于我们使用的方法的安全讲座,因为我知道它们不安全。
但是,是否有人有更安全的方法的建议,这也将是有点容易维护?我听说过其他人像我们一样使用应用程序登录/密码,但我不太确定他们是如何维护他们的登录的。
发布于 2019-07-01 16:56:48
对于以后遇到这种情况的人来说,集成Windows安全显然是最好的选择,但在我的例子中,这太过分了,因为我必须在每个用户的基础上维护300+用户的访问权限(这在我的小团队中是不可行的,也不是必要的)。我们已经安装了应用程序凭据。
因此,我发现管理配置文件安全性的方法有两种:
<configProtectedData defaultProvider="RsaProtectedConfigurationProvider">
<providers>
<add name="RsaProtectedConfigurationProvider"
type="System.Configuration.RsaProtectedConfigurationProvider, ... />
<add name="DataProtectionConfigurationProvider"
type="System.Configuration.DpapiProtectedConfigurationProvider, ... />
</providers>
</configProtectedData>https://learn.microsoft.com/en-us/aspnet/core/security/app-secrets?view=aspnetcore-2.2&tabs=windows
使用机密管理器,秘密存储在这里:
%APPDATA%\Microsoft\UserSecrets\<user_secrets_id>\secrets.jsonhttps://stackoverflow.com/questions/55924417
复制相似问题