权限管理

将不确定变为确定~整形变量是否可以进行位运算(像枚举类型一样)

12-05
如果您看到这个题目,觉得有点怪,那说明你是一个高人,最起码比我高的多,呵呵. 前几天做了一个公用后台管理系统的项目,其中有一个地方涉及到权限管理的,即为每一个按钮赋一个权限,然后它权限汇总到角色表里,即一种角色有一些操作权限 ,表结构如下: 我们看到OperatorAuthority就是操作权限的意思,它是个int类型的,一个role有一个OperatorAuthority,那我们应该怎么把多个权限存储到OperatorAuthority字段里呢? 这时,我想到了枚举类型的位运算,所以我把权限枚

Android获取设备隐私 忽略6.0权限管理

12-05
一.前言 (1).由于MIUI等部分国产定制系统也有权限管理,没有相关api,故无法判断用户是否允许获取联系人等隐私.在Android 6.0之后,新增权限管理可以通过官方api判断用户的运行状态: (2).我们指定targetSdkVersion为23或者之后我们还需要在运行时请求这些所需的权限.这很重要,因为已经出现了很多开发者把targetSdkVersion飙到了最新,然后发现自己的app疯狂的崩溃,这是由于他们没有实现执行运行时权限请求的代码.当你已经把一个targeting API

WCF开发框架形成之旅---结合代码生成工具实现快速开发

12-04
我的WCF开发框架推出很久了,一直有不少的朋友支持及提供良好的完善意见,随着利用这种基于Winform界面的WCF开发框架开发了不同类型的项目,各种WCF对象的调用及处理逐渐稳定及统一化,因此是时候让我的开发伴侣(代码生成工具Database2Sharp)来做更多更有技术性的工作了---提供基于我的WCF开发框架模式创建的项目工程及调用WCF的Winform界面处理代码.这样在WCF快速开发框架中,有了更强更高效率的支持,整个项目的开发,就更加是水到渠成,闲庭散步了. 因此,代码生成工具生成框架

Winform开发框架之动态指定数据表

12-04
在Winform开发框架的应用中,大多数的时候,我们都是采用固定的表名作为操作数据表的对象,但有时候,有些特殊的需要,需要动态指定表的名称,如表名称可能和年份有关系或者和登录用户的身份有关系等等.本文介绍基于我的Winform开发框架,介绍如何动态构造表名,实现向不同表获取数据的操作实现. 例如:数据库中有一些客户信息的表(Customer),按照年份存储,都是Customer2012这样格式的表,每次调用的时候需要告诉Customer业务对象实际上去访问哪个Customer的表,比如Custo

整合微信小程序的Web API接口层的架构设计

12-04
在我前面有很多篇随笔介绍了Web API 接口层的架构设计,以及对微信公众号.企业号.小程序等模块的分类划分.例如在<C#开发微信门户及应用(43)--微信各个项目模块的定义和相互关系>介绍了相关模块的划分,在<基于微信小程序的系统开发准备工作>介绍了Web API的架构设计思路.本篇随笔对之前介绍的架构内容进行统一的调整更新,以便更加方便实际项目的应用开发,以期达到统一.重用.清晰的目的. 1.公众号.企业号.小程序模块的划分 我们知道,目前微信企业应用,分为公众号.企业号(企业

WCF开发框架之插件化应用模式升级

12-04
自从在<Winform开发框架之插件化应用框架实现>一文中,介绍并总结了Winform开发框架插件化应用框架的实现后,赢得了很多同行和客户的支持,于是把我的WCF开发框架.混合式开发框架都进行了升级,把它们都提升到插件化应用的高度上.本文主要介绍WCF开发框架,如何实现插件化的应用.从我随笔<基于我的Winform开发框架扩展而成的WCF开发框架>介绍可以看到,一般的WCF应用,是在客户端添加服务应用的方式,然后使用自动生成的WCF服务客户端代理来访问相应的服务的,这种方式比较方便

从开发框架提高开发效率说起

12-04
在我们接触的很多项目中,如果有一些参考性的项目框架,那么做起开发来,事半功倍,一般来说搭建或者积累这些框架性的项目,非一日之功.一般我们可以把具体的项目分为Winfrom.Web.微信.或者Socket等方面,具体项目界面表现不同,但是界面层底下的应该都是差不多的结构,能够支持多种数据库的接入,提供更好的接口封装,以便重用,实现最优化代码的处理. 软件系统随着业务的发展,变得越来越复杂,不同领域的业务所涉及到的知识.内容.问题非常非常多.如果每次都从头开发,那都是一个很漫长的事情,且并不一定能将

基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据

12-04
最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重构完善过程中,很多细节花费不少时间进行研究和提炼,一步步走过来,也积累了不少经验,本系列将主要介绍我在进一步完善我的Web框架基础上积累的经验进行分享,本随笔主要介绍使用如何使用Json实体类构建菜单数据,然后在主界面中进行使用.  菜单的界面效果如下所示,菜单分为一级菜单.二级菜单.三级菜单,他们

用户权限管理,LINQ去除它的重复菜单项

12-04
事情是这样的,我有三张表,用户_角色关系表User_Role,角色_菜单关系表Role_Menu和菜单表 Menu,这三个表之间有如下关系:  User_Role=>RoleId=>RoleMenu RoleMenu=>MenuId=>Menu 它们之间的业务关系是: 当用户登陆后,通过UserId得到User_Role列表,将用户所包括的角色得出 通过User_Role找到所有对应Menu 现在有个问题,就是一个用户可以有多少角色,一个角色有多个菜单,当然,两个不同的角色可以有相

MVC巧用枚举做权限管理

12-04
用户数据表,每个用户有一个或者多个权限,用户表如下 userid,roleid,username等 权限枚举如下: public class CustomEnum     {         [Flags]         /// <summary>         /// 用户角色枚举         /// </summary>         public enum UserRole         {             /// <summary>     

WCF开发框架形成之旅---终极WCF框架是什么样子的

12-04
前面几篇WCF框架的文章,一直是介绍我的WCF框架的形成中的知识,期间虽然我在工作项目中已经成功运用各种WCF的概念及特性,而且是多个部门之间的数据管理系统,基本上WCF框架的雏形已经形成了,不过我一直想把我成熟的Winform开发框架,提炼整合到WCF框架上,这样在成熟的Winform框架基础上应用的WCF技术,才是我整个WCF开发框架的终极形式,虽然项目时间很紧,但业余空闲时间我一直未曾停步,前阵子通宵达旦完成,并经过多番测试,今天有幸和大家分享一下这个WCF框架的真面目及其中的一些经验总结

谈谈Android6.0运行时的权限处理

12-04
运行时权限介绍 Android 6.0在我们原有的AndroidManifest.xml声明权限的基础上, 又新增了运行时权限动态检测,以下权限都需要在运行时判断: 1.身体传感器 2.日历 3.摄像头 4.通讯录 5.地理位置 6.麦克风 7.电话 8.短信 9.存储空间 在 Android 6.0 中,app 如果想要获得某些权限,会在应用中弹出一个对话框,让用户确认是否授予该权限. 具体的截图如下: 这要做的好处就是运行一个 app 时可以拒绝其中的某些权限,防止 app 触及到你的隐私(

详解Android权限管理之RxPermission解决Android 6.0 适配问题

11-29
前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxPermission.这里不再介绍Android 6.0运行时权限了,直接看下如何使用RxPermission. RxPermission: 用于适配Android 6.0新的权限模型的开源框架. 下载地址:点此下载 如何使用? 1.)在app module的build.gradle中添加如下配置 使

详解Android权限管理之Android 6.0运行时权限及解决办法

11-29
前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以上设备越来越多了,所以Android 6.0 权限适配是必不可少的工作,这里主要介绍一下我们公司是如何做Android 6.0权限适配的. Android 6.0以下非运行时权限: 根据上面博客我们很清楚的知道,Android的权限其实就是为了程序之间更加的安全的访问,所以权限有等级之分,比如:No

关于Android 6.0权限的动态适配详解

11-28
前言 Android6.0代号棉花糖.尽管是在15年I/O大会上Google被正式发布的了.但是看看大多数人的项目中大家的 targetSdkVersion 是不是还都用的22.大家都认为6.0+的市场占有率还没那么高.那么就请看谷歌2017年9月份公布的版本分布图. 从数据来看确实没那么高O(∩_∩)O.6.0+的市场占有率仅为50% ̄□ ̄||.只因安卓用户的基数太大了吧.延伸至各种人群.虽然说占比才一半但时基数大总的用户数量还是蛮多的.这两天刚做完6.0权限的适配.那么请说一下自己测试的时候

Shiro系列(2) - 权限模型以及权限分配的两种方式

10-23
1. 顶级账户分配权限用户需要被分配相应的权限才可访问相应的资源.权限是对于资源的操作一张许可证.给用户分配资源权限需要将权限的相关信息保存到数据库.这些相关内容包含:用户信息.权限管理.用户分配的权限信息(数据模型) 2. 权限模型设计主体(user.password)权限(权限名称.资源id)/资源(资源名称.访问url)角色(角色名称)角色和权限关系(角色id.权限id)主体和角色关系(主体id.角色id)   3. 权限分配有两种  ​     ​3.1 基于角色的权限控制 这些角色包含

Shiro系列(0) - 权限管理在J2EE企业级开发中的应用与实战

10-16
其实也是应大家要求,讲一下权限管理,之前有讲过,但是没有拿出来细讲,这次索性录了视频从头到尾把shiro讲一遍.后续spring security会另外找个时间也讲一下.   主要内容会包括以下 1.了解基于角色/资源的权限管理方式 2.掌握权限数据模型,数据库表结构 3.了解基于url拦截的权限管理 4.shiro实现用户登录(认证) 5.shiro实现用户权限(授权) 6.J2EE中shiro与web项目的整合,主要是结合spring 7.项目实战:整合到LeeCX开源项目中,实现基于角色以

工作周记 - 第六周 (2016/06/27 - 2016/07/01)

07-02
1.搭建定时任务quartz 本来是打算把定时任务放入后台管理中,这样目前没问题,但是弱后期加入权限管理-shiro,那么肯定有冲突的,原因是最新版的shiro会使用quartz-1.6版本,而最新的quartz已经到了2.3 有人索性把quartz版本降到了1.6,这样就没问题,我想这样不好,2.3的新功能都用不到,1.6多多少少肯定会有一定bug,所以就另开了一个项目作为定时任务,虽然现阶段的任务量少,但是后期一定会多起来,比如定时报表,定时跑批等等 这样也省的把原来的任务再分离出来,这么做

权限设计(下) - 细说权限设计

06-07
什么是权限管理 一般来说,只要有用户参与的系统,那么都要有权限管理,尤其是一些后台的管理系统, 权限管理可以实现对用户访问系统的控制,按照安全规则或者相关策略的控制,可以使用户访问到只属于自己被授权的相关(比如菜单,或者页面资源) 权限管理包括用户认证和授权两模块 用户认证 用户认证,说白了就是登录的时候进行的验证,验证用户身份合法性. 最常见的用户身份验证的方式: 1.用户名 + 密码 2.手机号 + 验证码 3.证书验证 来看一下流程图:     用户授权 用户授权,浅白点讲就是权限访问控制

基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 账户与角色

04-24
      前面的文章我介绍了AgileEAS.NET平台关于模块插件的集成,本文我介绍AgileEAS.NET平台中的一个重要功能,账户和角色.       做为一个企业级应用开发平台,我们应该包括账户管理,做为一个插件集成平台,我们应该包括模块插件的权限管理,而权限系统,也必须依赖于插件和系统使用者(也就是账户和角色).       AgileEAS.NET参考了Windows系统的用户管理机制,Windows设置了用户和用户组,用户组是用户的组合,主要用于权限的设定,AgileEAS.NE