资源简介

登录用户: 1.用户名:牛头人战士 密码:000000 权限:有全部菜单页面,不能进行数据库的更改操作(不影响录入体验)
 
      2.用户名:老虎MM  密码:000000  权限:少两个菜单页面,不能进行数据库的更改操作(不影响录入体验)
 
      3.用户名:admin 密码不公开 权限:所有权限
 
      注:以上的实现都是通过权限管理s配置出的哈,没有任何硬编码
 
权限判断的边界
 
由于项目是基于MVC的,除去数据权限不说,功能权限的判断边界做在MVC 的Action上无疑是最好的选择,因为无论是一个页面,还是一个按钮,还是一次查询,都是通过Action请求实现的。这样我们只需要在每个Action请求执行之前进行权限判断就可以了,也不用折腾RBAC里的资源 操作=权限 这么麻烦。
 
 
 
菜单权限和功能权限
 
其实在MIS项目中,大多数的权限判断粒度还是页面级的,再加上我们还需要根据权限动态生成用户的菜单,所以我们把权限分成“菜单权限”和“功能权限”
 
菜单权限:在用户登录验证后,每个页面的请求都必须通过权限验证。
 
功能权限:默认客户进入页面后,页面的相关操作默认都不判断,只对显示维护出的功能权限进行权限判断。
 
这样有几个好处:一般情况下权限的配置简单了,因为只需要配置粗粒度的页面权限即可使用;增加了效率,不必每个Action执行之前都判断权限(虽然都做了缓存,但能少判断一次还是好的);完全不影响细粒度的权限判断,随时都可以增加对任何一个Action的权限判定

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Demo.HIS.frameWork
{
    public class DemoHisException : Exception
    {
        public DemoHisException(string message) : base(message) { }
        public DemoHisException(string message Exception inner)
            : base(message inner) { }
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-12-03 13:42  权限管理\
     目录           0  2015-12-03 13:42  权限管理\HISDemo\
     目录           0  2015-12-03 13:42  权限管理\HISDemo\Demo.HIS.frameWork\
     目录           0  2015-12-03 13:42  权限管理\HISDemo\Demo.HIS.frameWork\Cache\
     文件         527  2010-01-22 02:10  权限管理\HISDemo\Demo.HIS.frameWork\Cache\ICache.cs
     文件        1115  2010-01-22 02:10  权限管理\HISDemo\Demo.HIS.frameWork\Cache\WebCache.cs
     文件        6538  2010-01-22 02:14  权限管理\HISDemo\Demo.HIS.frameWork\Demo.HIS.frameWork.csproj
     文件         367  2009-12-24 21:00  权限管理\HISDemo\Demo.HIS.frameWork\DemoHisException.cs
     目录           0  2015-12-03 13:42  权限管理\HISDemo\Demo.HIS.frameWork\DomainModel\
     文件         305  2009-12-24 20:03  权限管理\HISDemo\Demo.HIS.frameWork\DomainModel\baseobject.cs
     文件         361  2009-12-28 22:41  权限管理\HISDemo\Demo.HIS.frameWork\DomainModel\DataFilter.cs
     文件         720  2009-12-24 21:26  权限管理\HISDemo\Demo.HIS.frameWork\DomainModel\Entity.cs
     文件        1497  2009-12-24 21:26  权限管理\HISDemo\Demo.HIS.frameWork\DomainModel\InputItem.cs
     文件         914  2009-12-25 21:05  权限管理\HISDemo\Demo.HIS.frameWork\DomainModel\TreeNode.cs
     文件        7843  2010-01-22 01:57  权限管理\HISDemo\Demo.HIS.frameWork\EnumDescription.cs
     文件         472  2010-01-22 02:14  权限管理\HISDemo\Demo.HIS.frameWork\ExistException.cs
     文件         181  2009-12-30 15:01  权限管理\HISDemo\Demo.HIS.frameWork\IDomainFacade.cs
     文件         342  2009-12-24 21:26  权限管理\HISDemo\Demo.HIS.frameWork\NotNullException.cs
     目录           0  2015-12-03 13:42  权限管理\HISDemo\Demo.HIS.frameWork\Properties\
     文件        1368  2009-12-24 18:57  权限管理\HISDemo\Demo.HIS.frameWork\Properties\AssemblyInfo.cs
     目录           0  2015-12-03 13:42  权限管理\HISDemo\Demo.HIS.frameWork\Repository\
     文件         472  2009-12-25 08:50  权限管理\HISDemo\Demo.HIS.frameWork\Repository\IRepository.cs
     目录           0  2015-12-03 13:42  权限管理\HISDemo\Demo.HIS.frameWork\Repository\Nhb\
     文件         558  2009-12-25 10:52  权限管理\HISDemo\Demo.HIS.frameWork\Repository\Nhb\HttpSessionStorage.cs
     文件         202  2009-12-25 10:39  权限管理\HISDemo\Demo.HIS.frameWork\Repository\Nhb\ISessionStorage.cs
     文件        6714  2010-01-22 02:13  权限管理\HISDemo\Demo.HIS.frameWork\Repository\Nhb\Repository.cs
     文件        2169  2009-12-26 12:24  权限管理\HISDemo\Demo.HIS.frameWork\Repository\Nhb\SessionBuilder.cs
     文件         414  2009-12-25 20:04  权限管理\HISDemo\Demo.HIS.frameWork\Repository\RepositoryException.cs
     目录           0  2015-12-03 13:42  权限管理\HISDemo\Demo.HIS.frameWork\Transaction\
     文件        1102  2010-01-07 21:06  权限管理\HISDemo\Demo.HIS.frameWork\Transaction\TransactionAttribute.cs
     文件        1426  2010-01-07 21:06  权限管理\HISDemo\Demo.HIS.frameWork\Transaction\TransactionInterceptor.cs
............此处省略2968个文件信息

评论

共有 条评论