EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

用代码访问安全系统

本课程将指导您使用SecurityStrategy类检查用户是否具有特定权限。该SetTask行动将是谁有权修改用户访问DemoTask对象。

注意

在继续之前,我们建议您阅读以下课程。

  • 打开在“添加带有选项选择的操作”课程中创建的TaskActionsController.csTaskActionsController.vb)文件。添加“ using”指令并修改Activated事件处理程序,如下所示。

    using DevExpress.ExpressApp.Security;
    //...
    public partial class TaskActionsController : ViewController {
        // ...
        private void TaskActionsController_Activated(object sender, EventArgs e) {
            View.SelectionChanged  = View_SelectionChanged;
            UpdateSetTaskActionState();
        }
        void View_SelectionChanged(object sender, EventArgs e) {
            UpdateSetTaskActionState();
        }
        private void UpdateSetTaskActionState() {
            bool isGranted = true;
            SecurityStrategy security = Application.GetSecurityStrategy();
            foreach(object selectedObject in View.SelectedObjects) {
                bool isPriorityGranted = security.CanWrite(selectedObject, nameof(DemoTask.Priority));
                bool isStatusGranted = security.CanWrite(selectedObject, nameof(DemoTask.Status));
                if(!isPriorityGranted || !isStatusGranted) {
                    isGranted = false;
                }
            }
            SetTaskAction.Enabled.SetItemValue("SecurityAllowance", isGranted);
        }
    }
    

    使用添加的代码,将对具有对选定DemoTask对象的Priority和Status属性具有写权限的用户激活Set Task Action 。

  • 添加一个无权修改DemoTask对象的用户(请参阅使用安全系统)。以该新用户身份运行该应用程序。显示“演示任务列表”视图时,“设置任务操作”将不可见。

这是《综合教程》的最后一课。要了解有关构建业务应用程序和扩展XAF工具的主要概念的更多信息,请参阅“概念”部分。如果您需要基于任务的帮助,请查看“基于任务的帮助”部分。要了解如何部署XAF应用程序,请查看部署教程

相关文章

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