CSLA.NET权限规则的困惑
CSLA.NET中的权限规则是通过AuthorizationRules类实现的,如AllowGet()方法,就是允许读取。
以下是我在项目中的使用,是一个品牌的不可编辑类:
public static readonly string MenuCode = "Brand";
为MenuCode添加读取权限:
{
AuthorizationRules.AllowGet(typeof(Brand), RolesCommand.GetRoles(MenuCode, "Get").ToArray());
}
RolesCommand.GetRoles()方法:得到为菜单代码设置的角色列表。
这样,在页面读取该类的数据时, 若登录用户所在的角色没有读取"Brand"的权限 ,则产生System.Security.SecurityException的异常,捕获该异常后就可提示用户没有权限读取数据。
这种方法结合页面使用是没有问题的,而且非常好用。
但是,大家都知道,我们的业务是需要互相调用的,比如:在员工的业务中,会调用部门的数据以便显示员工所在的部门,使用上述方法后,如果登录用户没有读取部门数据的权限,那么在代码执行到获取部门信息时,就会产生SecurityException。其实用户在员工页面是应该看到员工的部门信息的。
这样的话,也就是业务代码互相调用时,也需要权限,产生了这样的问题。
后面我们的解决方法是:在业务类去掉了权限验证,将验证代码写在了前台的代码中。
但我觉得,我们的解决方法没有发挥出CSLA关于权限验证的作用,看大家有什么好的做法?
转载于:https://www.cnblogs.com/brawei/archive/2010/07/23/1783862.html
CSLA.NET权限规则的困惑相关推荐
- P15-Windows与网络基础-NTFS权限规则
该系列为"蜗牛学苑-网络安全"笔记,跟随课程加入自己见解,同时也为项目中碰到一些问题做了解答 大纲 NTFS的权限规则 1.背景:如何查看用户对于某文件.文件夹的全部权限 2.权限 ...
- Windows与网络基础:NTFS权限规则和本地安全策略
目录 一.NTFS权限规则 1.权限累加 2.拒绝权限 3.继承权限 4.特殊权限 4.1.读取权限 4.2.更改权限 4.3.取得所有权 二.本地安全策略 1.本地安全策略的基本内容 1.1.概念 ...
- Windows 基础(NTFS权限规则与本地安全策略)
**本文演示系统以Windows Server 2003为示例 一.NTFS权限 1. NTFS权限概述 1.1 NTFS文件系统 文件系统就是在外部存储设备上组织文件的方法. (1)Windows操 ...
- CSLA的权限控制如何整合到框架中
CSLA对类的属性读写控制做的很到位. 首先在BusinessBase继承的类中继承AddAuthorizationRules函数: protected override void AddAuthor ...
- 多可系统的权限规则详解
权限管理是多可文档管理系统的重要组成部分,用户只有被授予权限,才可以对相应的文件.文件夹等执行一定的操作,这样就确保了文件的私密性.那么,多可系统中权限管理的规则是什么样的呢?其实,多可系统中的权限管 ...
- legnano里的看板成员及权限规则?项目成员及规则?
看板成员及权限 一个看板上的最大成员限制为200个. 看板的可见性分为看板可见,以及项目可见.看板可见是指只有看板上的成员可以进入看板,查看和操作看板内容.项目可见是指项目成员都可以进入看板,但是只有 ...
- shiro 实现自己定义权限规则校验
<span style="font-family: Arial, Helvetica, sans-serif;">在系统中使用shiro进行权限管理,当用户訪问没有权限 ...
- Login rule 权限规则设置自动跳转页面
https://docs.servicenow.com/bundle/helsinki-platform-administration/page/administer/login/task/t_Log ...
- Day239.RBAC模式、动态加载用户权限资源规则数据规则、【记住我】注销多次登录图片验证码session验证码验证功能 -springsecurity-jwt-oauth2
1.RBAC权限管理模型 一.RBAC权限模型简介 RBAC权限模型(Role-Based Access Control)即:基于角色的权限控制.模型中有几个关键的术语: 用户:系统接口及功能访问的操 ...
最新文章
- FPGA篇(一) 基于verilog的定点开方运算(1)-逐次逼近算法
- MyBatis-22MyBatis缓存配置【一级缓存】
- git查看 对比未提交_30分钟让你掌握Git的黑魔法
- Process Hacker 一个系统监视工具
- Jackson将json字符串转换成泛型List
- 讲个故事为什么IP地址与Mac地址缺一不可?
- 基于ELK和Python搭建简单的监控告警系统
- 全国银行SWIFT代码查询
- 病毒软件诈骗帝国 恐惧心理刺激销售
- Activiti6.0 用户任务分配方式总结(单人任务、多人任务)
- 嗯,我是一个偏执狂。
- 数值积分: 梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式
- 华为前缀列表ip ip-prefix
- c++的加密库--crypto++/openssl库
- Unity Hair 毛发系统 初体验
- 一文带你透析zookeeper原理
- c++基础语法命令(C程序员刷leetcode)
- 新手学计算机所有视频教程,新手学电脑全套视频教程
- Ubuntu 设置timesyncd时间同步、时区、 NTP同步对时-小白实操记录
- Android 开发之 ContentProvider 内容提供者