假设您要开发一个系统,实体和域逻辑的可用性高度依赖于用户上下文.通过使各个存储库实例用户上下文感知来处理存储库中的用户上下文敏感性是否有意义?我正在考虑采用这种方法作为一种方式来消除对我的实体的依赖用户背景,但我不确定是否有任何陷阱,我可能不会意识到这个方向.我计划首先接近这个的方法是将UserContext参数添加到需要此上下文信息的存储库的构造函数中.另一个明显的选择是将用户上下文信息提供给我的存储库中的每个查询方法,但这可能意味着大多数方法都需要这样的参数,这反过来会大大增加每个方法调用的详细程度.
此外,我想指出,我知道即使我要使存储库用户上下文意识到,当服务或实体需要相同的用户上下文信息时,这不一定有助于确定基于用户的行为等原因组态.我也对这些案例的其他解决方案感兴趣但是现在我试图一次解决一件事,所以我首先关注的是存储库.
任何建议,将不胜感激.
最近发现了设计模式,并获得了优秀的Head First Design Patterns一书(真的可以推荐它!),我现在想知道安全性的设计模式和控制数据存储中记录的访问.
我的用例是一个定制的CRM风格应用程序,其联系人,企业和用户具有不同的访问级别,包括仅限于只读访问,甚至是一部分记录.我将只进行不同的实体级访问控制,而不是字段级别.
任何人都可以推荐任何符合上述安全性的设计模式吗?
如果它有所作为,我使用的是ASP.Net MVC,Entity Framework 4和SQL Server 2008.