获取数据时受保护的数据

时间:2017-06-22 08:14:53

标签: c# oop design-patterns n-tier-architecture

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

您推荐哪种类型的模式?

谢谢!

2 个答案:

答案 0 :(得分:0)

考虑到Library表,它应该包含columnId列和另一个具有companyId作为外键的User表。 也许你可以添加一个列' Access'在用户表中。

将会有一个查询表,用于访问'带数据的列

android:supportsRtl="false"

因此,当您获取用户Bob的数据时,您可以根据该用户的Access动态创建where子句。

答案 1 :(得分:0)

您需要一个用户表,用户存储公司表中存储公司详细信息的引用键或外键,以及存储用户访问级别的Access级别表,其中包含对use和company的外键引用以及表示每个公司的每个用户访问级别。您还需要在Library表中包含一个返回公司的引用。

有了这个,你需要让LibraryBS.GetAll方法将用户对象作为参数。

有了这个,GetAll方法可以根据传入的用户计算出正确的库。

希望这会有所帮助。