2017-06-22 94 views
0

我的问题受保护的数据是如何保护数据,并创建一个智能架构以下目的。 我有一个LibraryBS类(有很多这样的类型的类)从数据库中获取数据。 LibraryBS类具有GETALL()和GetById(int libraryId)函数。 GETALL获取所有库,而GetById只从数据库中获取一个库,这是Id = libraryId。这是一个使用这些类的Web应用程序。 现在我想添加公司保护。这意味着当用户登录系统并使用LibraryBs.GetAll()时,用户只能看到属于用户公司的数据。 当这种类型的用户进入系统时,也有特定的用户(我们称之为超级用户),他们可以看到所有数据。在获取数据

你推荐什么类型的模式?

谢谢!

回答

0

考虑图书馆的桌子上,它应该包含列companyId并具有companyId为外键的另一个表用户。 也许你可以在用户表中添加一列'Access'。

会有查找表与where子句动态地根据该用户访问数据

Id AccessLevel 
0 Undefined 
1 User 
2 Company 


User Table 
Id Name Access CompanyId 
1 Bob 1  1 
1 Jon 2  2 

所以,当你获取数据说用户鲍勃,你可以创建“访问”列。

0

你需要存储用户提供了参考键或外键到公司表,用于存储公司的详细信息,并存储与这两个使用和公司代表列外键引用用户访问级别的访问级别表用户表每个公司的每个用户的访问级别。您还需要在库表中将参考添加到公司。

有了这个地方,你需要做的LibraryBS.GetAll方法取用户对象作为参数。

有了这个地方你的GETALL方法可以计算出正确的库即可根据传入的用户。

希望这有助于。