EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

客户端安全性(2层体系结构)

当您的应用程序不使用中间层应用程序服务器直接连接到数据库时,客户端安全性实现了最简单的方案。客户端安全有两种模式:

使用解决方案向导创建新的XAF应用程序时可以选择该模式。

ClienSideSecurityMode

集成模式(仅XPO)

对于基于XPO的应用程序,建议使用集成模式,默认情况下,在解决方案向导中选择XPO时会启用该模式。在集成模式下,无法通过Object Space API访问受保护的数据。该SecuredObjectSpaceProvider将创建担保对象空间这方面的安全权限,并筛选出保护数据的ORM水平。结果,受保护的数据将不会显示在应用程序的视图中,也不会被控制器报告数据源等访问。

您可以参考“如何:将客户端安全模式从UI级别更改为XPO应用程序中的集成”示例,以了解如何在现有应用程序中启用集成模式。

要在代码中修改某些业务对象,请实例化XPObjectSpaceProvider对象,然后将连接字符串传递给构造函数。然后,调用XPObjectSpaceProvider.CreateObjectSpace方法以创建IObjectSpace对象。使用创建的对象空间的方法绕过安全性访问数据。

UI级别模式

在Entity Framework应用程序中,默认情况下启用UI级别模式(这是唯一受支持的模式)。在这种模式下,安全性限制在UI级别处理-受保护的数据被XAF列表和属性编辑器隐藏。但是,客户端应用程序代码(例如Controllers)可以通过Object Space访问所有数据。

在XPO应用中,可以通过改变切换到该模式SecuredObjectSpaceProvider类型XPObjectSpaceProviderCreateDefaultObjectSpaceProvider其在重写方法WinApplication.csWinApplication.vb)或WebApplication.csWebApplication.vb)文件。

局限性

UI级别模式在不需要强大的数据保护并且可以直接访问数据库以修改受保护的数据的情况下非常有用。但是,由于所有不受保护的数据都可以在客户端访问,因此您需要考虑以下方面。

  • 移动应用程序不支持此模式。
  • 在网格列表编辑器中,尽管显示“受保护的内容”文本而不是安全值,但排序,过滤和分组操作依赖于实际数据值。
  • 在网页标记中,安全值按原样显示。
  • 在ASP.NET应用程序中,显示成员始终在“详细视图”标题中可见。
  • 可以修改某个对象以使其受到保护(例如,由于具有标准的对象级许可)。
  • 附加模块没有安全系统依赖性,因此可以通过不安全的对象空间直接访问数据库。因此,他们可以使用数据库中的整个数据集,包括受保护的记录。
注意

尽管受保护的数据由ORM过滤(在集成模式下)或从UI隐藏(在UI级别模式下),但是数据库本身暴露给客户端工作站。最终用户可以在应用程序的配置文件中看到连接字符串,并可以使用它直接访问数据库表,而无需在应用程序中实现的安全引擎。如果使用XPO,则可以通过在应用程序和数据库服务器之间注入中间层应用程序服务器来增强安全性。进入“中间层安全性-WCF服务”主题以了解如何执行此操作。基于实体框架的应用程序不支持中间层体系结构。

转载保留此链接,注明出处