连接 WPF 和 SQL Server 的最佳实践

Posted

技术标签:

【中文标题】连接 WPF 和 SQL Server 的最佳实践【英文标题】:Best practice to connect WPF and SQL Server 【发布时间】:2021-06-25 01:34:43 【问题描述】:

我使用 WPF 已经有一段时间了,但由于资源不足,我使用 Access Files 作为数据库。最近我有机会接触到一个 SQL 数据库。当我创建我的 WPF 应用程序(一个简单的数据条目,从数据库中写入和读取数据)时,我工作的一位 IT 人员开始抱怨他必须向所有使用该应用程序的人授予完全访问权限。

所以,这是我的问题,因为您可以说我是使用 WPF Linked to SQL 的新手: 实现上述示例的最佳方法是什么?我一直在研究 API、ASP.NET、php 等,看看我可以用什么来发送/接收来自服务器的请求,但我的理解是那些以前的脚本语言(只是给它一个名字)用得更多对于 Web 开发,我的应用程序是 WPF,并且像普通的 Windows 应用程序一样在服务器 PC 上运行。

我会很感激任何关于将注意力转移到哪里的见解,我应该学习/研究什么?

谢谢大家!

【问题讨论】:

【参考方案1】:

Application Roles 旨在帮助解决这种情况。

应用程序角色是一个数据库主体,它启用 应用程序以自己的类似用户的权限运行。您可以使用 应用程序角色,仅允许那些人访问特定数据 通过特定应用程序连接的用户。不同于数据库 角色,应用程序角色不包含任何成员,并且不活动 默认。应用程序角色是通过使用 sp_setapprole 启用的,它 需要密码。因为应用程序角色是数据库级别的 principal,他们只能通过权限访问其他数据库 在这些数据库中授予来宾。因此,任何数据库 来宾已被禁用将无法访问应用程序角色 其他数据库。

用户仍然需要连接到数据库,但他们不需要拥有除此之外的任何权限。

如果您的用户是其桌面上的本地管理员,他们总是可以使用调试器发现应用程序角色的密码,因此这仅适用于锁定环境或您拥有相当值得信赖的用户的情况。

【讨论】:

@Dave Browne 你会碰巧知道任何实现应用程序角色的 Wpf 示例吗?我在我的 sql 数据库中创建了一个应用程序角色,但我找不到任何在代码中使用它的示例。非常感谢您的帮助,谢谢。

以上是关于连接 WPF 和 SQL Server 的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 索引最佳实践(SQL Server 2008)[关闭]

译索引进阶(十七): SQL SERVER索引最佳实践

SQL Server 2008 架构更改的最佳实践

MS Access 前端与 SQL Server 后端查询存储最佳实践 [关闭]

将 mongo 集合导出到 SQL Server 的最佳实践

为数据仓库创建 SQL Server 数据库的最佳实践