Sql server 如何基于用户登录限制数据访问
我以前是Lotus Notes/Domino开发人员,学习Microsoft堆栈。我正在构建一个带有SQL server后端的web应用程序。我想构建一个基本的CRUD应用程序,用户在其中注册,然后登录。他们应该能够处理他们创建的或与他们共享的数据。我不确定如何实现这一结果 Domino数据库的一个很酷的特性是能够使用用户ID或角色向每个记录添加reader和/或author字段,并且当用户访问数据库时,服务器会自动过滤掉这些记录。因此,如果用户打开视图或查询数据库,服务器将永远不会让他们看到未分配访问权限的记录 SQL server是否具有类似的功能?我看过一些关于行级安全性的信息,这是保护数据的最佳方法吗?如果没有,那么保护数据以使用户只能看到其数据的最佳做法是什么 感谢您提供的任何帮助。是的。SQL server具有: 行级安全性使您能够使用组成员身份或执行 上下文来控制对数据库表中的行的访问 行级安全性(RLS)简化了安全性的设计和编码 在您的应用程序中。RLS帮助您实现对数据行的限制 通道例如,您可以确保工作人员只访问那些 与其部门相关的数据行。另一个例子是 将客户的数据访问限制为仅访问与其业务相关的数据 公司 访问限制逻辑位于数据库层,而不是数据库层 而不是远离另一个应用层中的数据。数据库 每次访问数据时,系统都会应用访问限制 从任何层尝试。这使您的安全系统更加可靠 通过减少安全系统的表面积,增强了系统的稳定性Sql server 如何基于用户登录限制数据访问,sql-server,security,Sql Server,Security,我以前是Lotus Notes/Domino开发人员,学习Microsoft堆栈。我正在构建一个带有SQL server后端的web应用程序。我想构建一个基本的CRUD应用程序,用户在其中注册,然后登录。他们应该能够处理他们创建的或与他们共享的数据。我不确定如何实现这一结果 Domino数据库的一个很酷的特性是能够使用用户ID或角色向每个记录添加reader和/或author字段,并且当用户访问数据库时,服务器会自动过滤掉这些记录。因此,如果用户打开视图或查询数据库,服务器将永远不会让他们看到未
但是,在服务器端应用程序(如web服务器或web API)中嵌入授权逻辑更为常见。行级安全性在用户直接连接到数据库的情况下更为常见,如在报告和分析以及客户端/服务器桌面应用程序中。谢谢您的回答。是否有公共存储库或示例代码可供审查,以通过web应用程序实现安全性?我很好奇如何根据特定标准保护数据,例如仅显示用户的公司或地区数据等。它是通过使用where子句实现的吗?这里有一种模式,使用.NET和实体框架:谢谢,David。这有点让人困惑,但我明白这个概念。我不确定它在大型应用程序中的伸缩性如何。我将看看是否可以在网上找到一些示例应用程序,看看这将如何实现。