EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:将客户端安全模式从UI级别更改为集成在XPO应用程序中

本主题描述如何在不使用中间层应用程序服务器的情况下使用XPO筛选受保护的数据。建议您首先查看客户端安全性(2层体系结构)主题,以研究初始客户端安全性配置。此处描述的方法不支持Entity Framework数据模型,仅适用于XPO。如果要使用“条件外观模块”隐藏“受保护的内容”列和编辑器,则还可以使用“如何:在列表视图中隐藏'受保护的内容'列”和“详细信息视图”示例中的“属性编辑器”。

注意

本主题演示了可由解决方案向导自动生成的代码。如果要在现有XAF解决方案中实现演示的功能,请继续。如果要创建新的XAF解决方案,请改用向导。

添加到应用程序项目模板的XafApplication类后代将覆盖CreateDefaultObjectSpaceProvider方法。编辑WinApplication.csWinApplication.vb),WebApplication.csWebApplication.vb)和MobileApplication.csMobileApplication.vb)文件,并按以下方式修改CreateDefaultObjectSpaceProvider方法代码:

using DevExpress.ExpressApp.Security;
using DevExpress.ExpressApp.Security.ClientServer;
// ...
protected override void CreateDefaultObjectSpaceProvider(
    CreateCustomObjectSpaceProviderEventArgs args) {
    args.ObjectSpaceProvider = new SecuredObjectSpaceProvider(
        (SecurityStrategyComplex)Security, args.ConnectionString, args.Connection);
}
提示

DevExpress代码示例数据库(http://www.devexpress.com/example=E4034)中提供了完整的示例项目。

SecuredObjectSpaceProvider将创建担保对象空间这方面的安全权限,并筛选出受保护的数据。

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

尽管现在已过滤受保护的数据,但是数据库仍然向客户端工作站公开。最终用户可以在应用程序的配置文件中看到连接字符串,并可以使用它直接访问数据库表,而无需在应用程序中实现的安全引擎。为了进一步增强安全性,您可以在应用程序和数据库服务器之间注入中间层应用程序服务器。进入“中间层安全性-WCF服务”主题以了解如何执行此操作。

重点

一起使用时,不支持以下功能组合。

在这种配置中,您的应用程序从数据库加载有关自定义持久性字段的信息,然后更新数据库架构。但是,建立数据库连接后,线程安全数据层不支持更改数据模型。

相关文章

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