我正在编写一个多用户应用程序(.NET - C#),其中每个用户的数据都与其他用户分开,并且用户之间没有共同的数据。确保没有用户可以访问其他用户的数据至关重要。
有哪些方法可以在数据库级别和/或应用程序架构中实现安全性来实现这一目标?例如(这完全是虚构的——我并不是说这是一种好或坏的方法)在所有数据表中包含一个 userID 列可能是一种方法。
我正在用 C# (asp.net) 和 SQL Server 2008 开发应用程序。我正在寻找我正在使用的工具中的原生选项或一般模式。
我正在编写一个多用户应用程序(.NET - C#),其中每个用户的数据都与其他用户分开,并且用户之间没有共同的数据。确保没有用户可以访问其他用户的数据至关重要。
有哪些方法可以在数据库级别和/或应用程序架构中实现安全性来实现这一目标?例如(这完全是虚构的——我并不是说这是一种好或坏的方法)在所有数据表中包含一个 userID 列可能是一种方法。
我正在用 C# (asp.net) 和 SQL Server 2008 开发应用程序。我正在寻找我正在使用的工具中的原生选项或一般模式。
我相信通过用户 ID 将数据与用户关联是最常见的方法。
另一种方法是加密。每个用户都可以有一些密钥、一个实际的数字密钥或者可能只是一个密码,并且他们的所有数据都可以用他们的密钥加密,这样其他用户就无法访问它。您仍然需要将数据与用户 ID 关联以进行查询等。
你可以这样做 1. 创建一个 dbo.users 表并具有以下列,注意这不完整
table users
-pid [uniqueidentifier]
-userfname
-userlname
-useremail
-userpwd
table userdata
- datapid
- pid
- [other columns to hoold data]
一旦您的用户针对此表进行身份验证,那么您只需使用 ppid 返回并输入和更新与该用户相关的任何数据
如果它适用于您的问题(我不知道),为什么不使用适合您问题的任何类型的访问方法(谁可以访问哪个文件,并具有读取、写入和删除的权限)?例如:
如果适合您的问题,您可以阅读并选择其中之一。