代码中的集成安全与密码 - 带有一些 SQL 写作的小型 .net 应用程序

integrated security vs. password in code - small .net app with some SQL writing

我有一个小应用程序可以更改我们的 MS SQL 数据库中的一些值。每天有少数人使用该应用程序。

在SQL服务器中给所有这些人db_datawriter并使用应用程序中的集成安全性更好吗?

或者我应该只为此应用创建 SQL 用户并将凭据存储在代码中吗?

或者有更好的solution/best做法吗?

谢谢

几年前我的回答是,如果它只是一个小型内部应用程序,创建一个 sql 用户并将凭据存储在应用程序配置中...

然而, 来自“只是一个小应用程序”的经验,随着企业意识到更多价值可以随着功能的增加而增长添加到这个'快赢''小应用程序'。

花一点时间 通过创建一个与 API.

通信的应用程序来正确地

稍后会感激你从正确的方法开始,它也巩固了最佳实践和良好的设计。您现在也可以正确地做到这一点,设置一个可以在创建其他应用程序时复制或使用的 核心应用程序

如果您真的坚持不使用API,那么关于您的问题确实没有好的答案最佳实践

在数据库中创建用户是管理员的噩梦,但它确实将安全留给 OS。 在 code/config 中保存凭据并使用 SQL 用户更易于管理,但代码可以被反编译,从而暴露您的密码。