CRM权限控制笔记

简介: 此CRM包括三个方面 客户管理系统:客户的信息 预约 生日提醒 进销存系统:进货 入库 销售 OA管理系统:比如日程安排 **********************************************************...

此CRM包括三个方面

客户管理系统:客户的信息 预约 生日提醒

进销存系统:进货 入库 销售

OA管理系统:比如日程安排

****************************************************************************************************************************************

约定大约配置!!!!!!!!!!!!!!!!!!!!!!得好好看看 
ruby的纯面向对象 比如 取绝对值 负数也是一个对象


////////权限控制分为两部分:粗粒度的权限控制和细粒度的权限控制
****************************************************************************************************************************************
粗粒度的权限控制(过滤器实现):

注意点一:
要注意哪些页面不可以被拦截,比如index.jsp不能被拦截 login.jsp不能被拦截,image.jsp(用于显示验证码)不能被拦截
将不拦截的这些页面写到一个配置文件里面 side.properties;然后在拦截器里面将此属性文件读入即可。
注意点二:
用户正确登录后保存用户的信息到session中,然后转发到main.jsp。中间需要一个过滤器来控制!!!!当登录的时候要经过过滤器——判断用户信息
是否存放在session中,是的话放行,不是的话重定向到登录页面
注意要在web.xml里面配置过滤器


////////细粒度的权限控制(重点是写了一个BaseAction,其余的Action都是继承自BaseAction)

第一张重要的表:操作表。
这张表列出了所有模块的所有操作。
主要字段:模块名称  操作名称(比如增加,删除,修改)   排序   标题    提示    备注

第二张重要的表:User表
这张表主要用于描述了用户信息
主要字段:ID 用户名 private SysRole sysRole(权限组)   private SysUserGroup sysUserGroup(所属部门)


第三种重要的表:操作权限表
这张表主要用来描述每个权限组对模块的方法的操作。即说明了每个权限组对哪些模块里的方法具有哪些操作
主要字段:权限组编号  功能模块名称   功能模块的操作(比如增加,删除)。用这三个字段作为联合字段,确保了唯一性。
即看到这张表就知道了此权限组对哪些模块的哪些方法具有哪些操作。
注意:由系统管理员给每个权限组设置权限
****************************************************************************************************************************************
代码实现:
自定义一个BaseAction extends DispatchAction,让其余的Action类继承自此BaseAction再结合注解来解决问题。

核心重点一:
自定义注解其生命周期为@Retention(RetentionPolicy.RUNTIME),该注解有两个属性——模块名称和权限(比如,增加,删除,修改)
然后给Action里的方法加上次自定义注解,表示此方法属于哪个模块和此方法是干什么用的

核心重点二:
就是重写了DispatchAction里面的execute()方法。
第一步:从Session里面取出User,重点是得到其权限组编号。
第二步:然后经过反射得到想要执行的方法。
第三步:得到此方法后,利用method.getAnnotation(MyAnnotation.class)得到此方法上的注解。
           得到了注解当然也就得到了其属性——模块名称和权限(比如,增加,删除,修改)
第四步:利用此权限组号从操作权限表查出其所具有的所有权限,返回值为一个list
          遍历此list(里面的每一个对象都有权限组编号,模块名称,权限)的每一个成员,将此成员与我们得到的权限组编号,模块名称,权限 (比如,增加,删除,修改)匹配。 

        成功的话表示有此权限,否则失败

相关文章
SAP CRM Fiori 应用的 offline 离线支持开发笔记
SAP CRM Fiori 应用的 offline 离线支持开发笔记
107 0
SAP CRM Fiori 应用的 offline 离线支持开发笔记
|
数据安全/隐私保护
使用Authorization scope对SAP CRM附件模型进行权限控制
使用Authorization scope对SAP CRM附件模型进行权限控制
93 0
使用Authorization scope对SAP CRM附件模型进行权限控制
|
数据安全/隐私保护
SAP CRM的状态管理和权限控制的集成
CRM status management framework supports the authorization concept as below. Customer can choose that only specific user group (with dedicated PFCG role) contains the authorization to change the status of transaction/activity to specific status, e.g. “Completed” and “Cancelled”.
SAP CRM的状态管理和权限控制的集成
Jerry Wang进行SAP CRM One Order标准开发的一些笔记
Jerry Wang进行SAP CRM One Order标准开发的一些笔记
128 0
Jerry Wang进行SAP CRM One Order标准开发的一些笔记
SAP CRM Fiori 应用的 offline 离线支持开发笔记
SAP CRM Fiori 应用的 offline 离线支持开发笔记
SAP CRM Fiori 应用的 offline 离线支持开发笔记
|
数据安全/隐私保护
CRM Transaction处理中的权限控制
当试图打开一个Opportunity时, 系统会进行如下一系列的权限检查: 1. 检查Authorization object CRM_ORD_OP: 此处会检查当前user的partner function和partner function category的设置情况: 如果检查失败,会抛出error message: 2.
|
数据安全/隐私保护 JavaScript Ruby
CRM笔记(杂乱无章.无参考价值)
此CRM包括三个方面 客户管理系统:客户的信息 预约 生日提醒 进销存系统:进货,入库,销售 OA管理系统:比如日程安排 day46 第三个视频一开始有个小总结 约定大约配置!!!!!!!!!!!!!!!!!!!!!!得好好看看  ruby的纯面向对象 比如 取绝对值 负数也是一个对象 树形目录用的是jquery 插件 图片都在一个image包里面放着 day50开始讲的是权限管理 粗粒度的权限控制(过滤器实现): 判断用户是否登录。
1055 0
|
4月前
|
人工智能 搜索推荐 Serverless
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
|
4月前
|
中间件
什么是 SAP CRM 系统里的 Initial Download
什么是 SAP CRM 系统里的 Initial Download