最近在做权限访问的封装,我们的权限分为用户(角色),对象,操作,行级4个层次。在权限数据方面,我们的处理方式是一次性获取相关权限数据(sql比较复杂一点),并按对象,操作,行级组织成层次结构,然后对这部分数据进行了缓存,而且是客户端和服务器端同时缓存,这样做虽然便于用户权限访问方法的处理,但也有个问题,有些权限数据其实访问的频度不是很高,特别是行级部分,整个用户在线期间都不会访问一次。而且这种处理方式对于sql的技巧要求相当高,其实也是不便于以后维护的。另外一种方式,当然是可以不缓存权限数据,可以根据需要实时访问数据库权限设置,而且操作和行级分开处理,这样,sql语句相对简单,对内存的要求也降低了很多。但由于每个页面,以及很多服务函数都需要进行权限检查,也会造成数据库访问比较频繁,而且特别不利的是对于silverlight这种异步处理的模式,增加了权限判断逻辑的书写复杂度。权衡了两种利弊,我们还是选择了缓存。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。