• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MutiModule-parent: Dubbo分布式框架实现管理平台(RBAC); lucene索引文件处理实现; ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

MutiModule-parent

开源软件地址:

https://gitee.com/alexgaoyh/MutiModule-parent

开源软件介绍:

maven多模块项目管理,整合spring mybatis,多模块划分: web层,service层, persist层, 其他(capthca验证码);已经实现后台管理页面RBAC相关权限控制,整合easyui,完成相关CRUD功能。

#upgrade更新部分:

#20150504增加模板类文件:persist持久化部分使用mybatis,使用maven-mybatis-generator插件,生成对应的模板文件,并添加分页操作service部分,自己书写fpl,使用freemarker生成service业务层代码;#20150509增加针对updateByPrimaryKeySelective操作的缓存更新功能 AOP#20150523persist service层增加RBAC功能权限相关处理,并对结果集进行树形结构转换功能。#20150225增加后台用户登陆页面;#20150526后台登陆页面增加登陆校验功能,下一步对/admin下的所有请求,增加listener监听,避免未登录进行访问;#20150527后台登陆增加filter(登陆与否状态校验),后台管理页面顶部功能,左边sysmanResource树结构实现,RedisClient增加方法(过期时间),重置某个key的过期时间;对LoginFilter在登陆状态下重置过期时间,避免登陆后即便操作状态下,缓存也会过期;后台管理页面用户是否有操作当前资源的权限判定;#20150528后台登陆页面,验证码和用户登陆信息,修改为使用session机制(原先使用redis,会出现缓存覆盖情况);#20150601persist层增加逻辑删除sql相关;service层增加逻辑删除相关(通用方法写入模板文件中)后台管理页面,逻辑删除功能实现,修复后台用户登陆后,登陆信息session与redis缓存匹配的bug以实现RBAC相关单表CRUD,下一步实现rel关系处理#20150602后台管理页面,rel关系处理(sysmanUser-sysmanRole-sysmanResource 部分),jquery左右选择 easyui樹形控件至此完成RBAC相關權限控制部分*******************

#20150608persist层,原先使用形如(如下)所示的代码段来定义一个个的bean,现改为MapperScannerConfigurer(查 找 类 路 径 下 的 映 射 器 并 自 动 将 它 们 创 建 成 MapperFactoryBean)


service层,原先使用入刑(如下)所示的代码段来定义一个个的bean,现改为<context:annotation-config /><context:component-scan base-package="X.X.X" /><bean id="demoService" class="com.alexgaoyh.MutiModule.service.demo.impl.DemoServiceImpl">	<property name="demoMapper" ref="demoMapper" /></bean>	  

#20150623增加webapp项目:MutiModule-ueditorDemo(ueditor部分的demo用例);MutiModule-ueditor (ueditor部分的js/css/image……部分资源文件);增加quickstart项目:MutiModule-uedirotClass(ueditor部分的相关java类文件和添加的servlet部分。ueditor源码类文件部分有部分修改);

前台有多个web子项目,每个子项目有时候都会依赖于ueditor部分,这样,重复性的东西很多,这样,可以吧这一部分的资源抽离出来(MutiModule-class  MutiModule-ueditor),这样的话,java类文件放到MutiModule-class的jar包里面,资源文件js/css/image放到MutiModule-ueditor的war包里面;MutiModule-uedirotDemo就是一个测试用例,测试可用。

#20150624增加 MutiModule-logback 模块,用来统一处理日志记录模块使用方法详见 MutiModule-logback/README.md 文件中

#20150625MutiModule-service层,Redis相关SerializablePojoRedisTest 测试类,Redis相关,存入value为序列化之后的Student对象,此后如果Student类属性变更,从缓存中获取value值之后进行反序列化Student对象,验证可用性;

#20150701增加MutiModule-upload MutiModule-common 相關MutiModule-upload : ajaxfileupload.js 文件上傳相關功能測試完成MutiModule-common : 通用方法處理相關MutiModule-web : 登陸驗證去除session部分,改為使用cookie部分; 同時去除驗證碼部分

#20150704MutiModule-upload 部分。将FileUploadServlet 部分移动到MutiModule-common移除 MutiModule-kindeditorClass 模块,将相关的*.java文件移动到 MutiModule-common

删除 MutiModule-upload 部分,将文件上传部分移动到 MutiModule-kindeditorDemo 内部形成 jsUpload.jsp 文件,采用 ajaxfileupload.js 进行文件上传,其中文件上传URL类采用 kindeditor 部分,整体 MutiModule-kindeditorDemo 模块中,不管是使用富文本编辑器。还是js进行的文件上传,都统一有一个文件处理类(com.MutiModule.common.kindeditor.servlet.FileUploadServlet)对整体文件上传类统一规划

#20150706GraphicsMagick+im4java 进行图片处理操作

#20150709增加 DesUtilss 类 ,为 对称加密解密类,其中引入自定义的 BASE64DecoderReplace 类,用来提到(sun.misc.BASE64Decoder类)对称加密解密算法,可以用来在CookieUtilss 方法中,对存入的cookie值进行处理,防止客户端改变cookie值进行非法操作。

#20150710增加 MutiModule-citySelect 模块,此模块为jQuery相关的省市区地址选择框,同时满足键盘输入匹配地址,省市区选择采用弹出层效果,废除难看的 select的级联选择框。

#20150711MutiModule-common 模块:扩展 mybatis-generator-maven-plugin 功能,在自动生成代码时添加分页功能:com.MutiModule.common.mybatis.plugin.PaginationPlugin mysql 分页扩展插件com.MutiModule.common.vo.mybatis.pagination.Page 分页插件依赖的分页类

		com.MutiModule.common.mybatis.plugin.DeleteLogicByIdsPlugin 自定义的扩展插件			实现增加一个方法,方法名称为 deleteLogicByIds, 在 接口文件和XML的sql文件中,都增加自定义的方法。			MutiModule-perisit 模块	在使用 mybatis-generator-maven-plugin 进行Demo 表结构对应的文件生成后,完成单元测试功能

#20150713使用新增的 mybatis-generator-maven-plugin 插件,将之前不符合要求的(关联关系表结构-复合主键, 驼峰式字段命名)进行修复;

mybatis-generator-maven-plugin	用来指定自动生成主键的属性(identity字段或者sequences序列)。如果指定这个元素,MBG在生成insert的SQL映射文件中插入一个<selectKey>元素	<generatedKey column="id" sqlStatement="Mysql" identity="true" type="post"/>	XmlParserUtilss dom4j 处理xml 通用方法

#20150714维护XmlParserUtilss 方法增加 生成xml 字符串的方法,详见单元测试部分 GenerateXMLTest

#20150715XMLUtilss 增加方法,解析xml标签元素

#20150717设定 MutiModule-web 模块为后台管理模块,前后端模块分离,修改链接请求部分,去除无用的 admin 部分;

整合kindeditor 相关功能到 MutiModule-web 模块,同时区分不同的用户 文件空间,防止不同用户上传的文件资源被其他用户看到并且使用	fileUpload?contextPath=admin&detailPath=anonymous	fileManager?contextPath=admin&detailPath=1		针对文件上传,文件空间  相关的两个servlet部分,进行参数传递:			contextPath : 用来区分项目上下文,区分不同模块下调用方法,比如传递 admin,表明他是后台模块进行的文件上传功能;			detailPath: 	在区分不同项目级别模块的路径下之后,需要区分不同用户上传的功能,比如传递  1, 表明他为 id=1 的用户上传的,如果传递  anonymous,表明为匿名用户

#20150718修复 首页登录时样式文件出不来: Resource interpreted as Stylesheet but transferred with MIME type text/html增加默认的index.jsp 文件重定向功能

#20150721web模块LoginFilter文件匹配的url-pattern设定为 /* , 并且设置过滤url(init-param),防止不必要的资源被过滤。 修复上述bug部分

#20150722web模块, http://127.0.0.1:8080/MutiModule-web/demo/page/5DemoController.java 类文件,增加分页相关的前台插件,添加 jquery.jqpagination.js 前台分页插件,并进行功能处理,现已完成

#20150723增加讀取配置文件的類文件,詳見 TestPropertiesUtilss TestPropertiesUtilssTest 兩個文件,讀取配置文件,並且將配置文件的內容存在緩存中,只需調用getXXX() 方法即可獲取到配置文件中的值增加sso.properties 文件,將sso單點登錄相關的配置文件讀取功能完成;

增加三個webapp子模塊: ssoAuth; ssoDemo1; ssoDemo2		總管三個模塊,用來完成單點登陸功能,	進行本地測試的時候,需要修改他依賴的common模塊的sso.properties文件的相關配置, 並且將上述三個webapp項目加載到tomcat路徑下		ssoAuth:	單點登陸校驗模塊		現階段登陸檢驗的用戶名密碼一致即可完成登陸	ssoDemo1:	單點登陸客戶端1	http://127.0.0.1:8080/MutiModule-ssoDemo1/userCenter	ssoDemo2:	單點登陸客戶端2	http://127.0.0.1:8080/MutiModule-ssoDemo2/userCenter

#20180724增加 BinaryTest 的单元测试部分,使用二进制数据的每一位,表示不同的用户信息;注意这样的话, 保存的用户信息位数是有限制的,Integer有位数限制,不能随意扩展,如果扩展位数过多,可以考虑使用String类型的数字;

#20150725增加 BaseLocation 省市区 数据库相关, persist/service 相关已完成 selectByPrimaryKey 相关单元测试,下一部分,在web模块中对省市区进行维护(CRUD)

#20150727WEB模块完成baseLocation省市区相关的zTree异步加载树结构功能,下一步进行CRUD功能;

persist层,generatorConfig.xml 增加两个参数设置,	beginningDelimiter endingDelimiter 将默认生成的sql.xml文件中默认的  (") 去除;	减少每次使用代码生成工具生成代码之后,又需要手动更改 *。xml 文件(去除" 标识)

#20150728修复 beginningDelimiter endingDelimiter 为(") 时候的部分bug,将这一部分旧代码存在的bug进行修复;web模块增加后台的条件筛选功能;

#20150730增加lucene模塊,需進一步優化。 增加persist层直接针对数据库的相关操作,进行实体类型的相关功能性操作(索引文件生成&&分页高亮搜索查询)

#20150801增加MutiModule-lucene相关LuceneIncreTest.java 文件(增量索引操作)LuceneUpdateTest.java 文件(更新索引操作)LuceneDeleteTest.java 文件(删除索引操作)

修复MutiModule-persist相关的遗留代码部分:			beginningDelimiter endingDelimiter未设置造成的问题	addCriterion("\"id\" >=", value, "\"id\"");		 改为 		addCriterion("id >=", value, "id");		增加 DemoTransientListStringTest 单元测试部分,	可以用来保存多个图片路径的json串		此单元测试主要测试  @Transient 注解,可以保存至数据库字段中的值为json字符串(泛型为List<String>),之后再取出json数据的时候,将这一部分的json串转换为原始数据格式进行输出;	增加	DemoTransientEnumTest  单元测试部分,可以用来保存多个enum类型的数据格式,json串		此单元测试主要测试  @Transient 注解,可以保存至数据库字段中的值为json字符串(泛型为 List<Enum>),之后再取出json数据的时候,将这一部分的json串转换为原始数据格式进行输出;

#20150803增加 MutiModule-static 模块,此模块下完成相关静态资源的配置处理(js/css/image……);抽离出来一份static静态资源模块,为动静分离做准备;单元测试详见: MutiModule-ssoAuth MutiModule-ssoDemo1 MutiModule-ssoDemo2 MutiModule-static 相关可见 MutiModule-ssoAuth/README.md 文件

web层增加 GlobalIntercepter 拦截器,增加对 context_ 部分的槽在,减少jsp页面中过多的代码编写;persist中generatorConfig.xml代码生成器部分,增加deleteFlag中的字段类型,设为enum类型,并且完成相关单元测试部分;

#20150804web层后台easyui的CRUD功能,使用新开页面代替dialog部分;详见 web层的DemoController.java 文件;下一步进一步完成抽离出来的 easyui_dataGrid_blank_extend.js 文件,完善数据回显和部分共用功能的抽离

#20150921修改数据库连接池,改为 Druid ,并且增加部分监控功能; 详情看 web 模块的 web.xml 文件 增加的servlet 部分;StatViewSerlvet展示出来的监控信息比较敏感,是系统运行的内部情况,如果你需要做访问控制,可以配置allow和deny这两个参数

#20150922druid persist层 配置防御SQL注入攻击druid persist层 数据库密码加密

#20150928增加CMS模塊功能;

#20151022MutiModule-common 模块中,增加 分布式主键ID生成策略的功能(twitter/snowflake),并且完成单元测试,详见 IdWorkerTest.testIdWorkerInstance() 方法;需要注意的是,不同的分布式环境下,这里的 idWorker.properties 配置文件的参数需要不同,需要强烈注意,否则主键生成策略会出现重复情况;

#20151028JAVA SPI 测试代码,实现并通过

#20151111MutiModule-Dubbo-RWSeperator-* 模块的创建,测试Dubbo分布式系统环境的搭建,api模块为抽离出来的接口模块,注意读写模块的分离;persist模块为数据库持久层,service业务层分为 读写 两个module, 从业务层的角度来根据读写接口的不同,划分到不同的模块,这样保证后期维护的过程中,读写接口的分离,同时也便于进行水平扩展(代码层面,数据库层面)

#20151112Dubbo 分布式系统环境的搭建;MutiModule-Dubbo-RWSeperator-* 模块

		|----MutiModule-Dubbo-RWSeperator-consumer-web			|----MutiModule-Dubbo-RWSeperator-api				|----MutiModule-Dubbo-RWSeperator-persist							&& //					|----MutiModule-Dubbo-RWSeperator-provider-write  MutiModule-Dubbo-RWSeperator-provider-read			|----MutiModule-Dubbo-RWSeperator-api				|----MutiModule-Dubbo-RWSeperator-persist		此模块换设计:		1:	抽离出来api模块(api接口层划分清楚读接口 写接口,为了便于数据库级别的读写分离,从接口层面进行分离);		2:	api模块依赖于 persist模块(数据持久层);		3:	Dubbo的服务提供者、服务消费者 都依赖于 api模块,同时api模块又依赖于persist模块,这样,persist和api模块都单独抽离出来,便于重用;		4:	Dubbo的服务提供者,此模块内进行 事务控制 DataSourceTransactionManager,将事务部分控制在服务提供者模块中;		5:	Dubbo的服务消费者,此模块进行 数据展现,引入接口部分进行数据操作和展示;					provider模块  添加 Druid的监控功能; 仅仅添加了部分监控功能,根据业务可以进行其他方面的配置;

#20151113MutiModule-Dubbo-RWSeperate-* 代码生成器功能的编写,减少手动书写重复代码量的功能;创建 sysmanUser sysmanRole 的代码,全部使用代码生成器功能,测试通过;

#20151125MutiModule-Dubbo-RWSeperate-consumer-web 模块inspinia+ admin templete 框架使用, 整合登陆和左侧菜单栏(菜单栏最多支持三层结构)待续未完~;

#20151126增加sitemesh 装饰器功能;org.sitemesh。sitemesh 将通用的部分页面展现抽离出来,后期只关注业务相关的展示页面即可;下一步增加 AOP 相关,将左侧菜单栏部分的数据层展现抽离出来, 并且后期权限校验相关也可以放置到这个AOP 里面下一步增加 BaseController 类,抽离通用的方法,尽量做到只需继承此方法,即可完成简单的CRUD 相关功能;

MutiModule-Dubbo-RWSeperate-consumer-web 模块	controller层配置 @RequestMapping(value="manager/*") 在 manager 路径下的话, 走sitemesh 配置	controller层 extends BaseController 的话,将走AOP 的配置:(左侧菜单栏的部分数据封装显示)		com.alexgaoyh.MutiModule.Dubbo.RWSeperate.consumer.web.aop.LeftMenuDataAop 

#20151130列表页功能完成;仅完成列表页数据展现相关;(inspinia模板,列表页面数据展现,翻页为页面刷新)

#20151201Dubbo-RWSeperate-consumer-web模块:整合inspinia+模板分页功能实现 分页栏部分/每页多少条数据 事件相应功能,条件筛选功能,数据回显相关;

#20151210websocket 简单实现(依靠spring4.x ):浏览器能够与服务器建立连接,通过已建立的通信信道来发送和接收数据而不需要由HTTP协议引入额外其他的开销来实现。

通过 http://192.168.60.134:8080/MutiModule-WebSocket/start 进行访问,点击connect进行连接,之后输入两个整数,点击 Send to Add 按钮即可向服务器发送请求;	服务器接收请求,返回结果展示在页面中;	可以理解为某种程度上的长连接,期间不需要HTTP协议造成的额外开销;****	PS: 此例中 web.xml 几乎为空,spring在4。x的版本中,看到github中的示例代码中web.xml几乎为空,通过注解方式,减少了xml配置文件的编写;	本例中便采用这种方式,需要简单了解使用;

#2015124创建Echarts与WebSocket的关联关系;echarts在初始化到页面的过程中,客户端(浏览器)直接与服务端创建长连接,后期服务端主动向客户端发送消息,echart页面则开始刷新;Demo:http://127.0.0.1:8080/MutiModule-echarts/init 初始化echart页面,页面中展现一个图标信息另开一个页面访问 http://127.0.0.1:8080/MutiModule-echarts/send 服务器主动向客户端发送消息,则看到之前init链接对应的页面内容发生了变化;

至此,echarts与WebSocket之间则解决了交互问题,并且可以通过服务端控制客户端页面的展现内容相关;

#20151218pom.xml文件org.apache.maven.pluginsmaven-compiler-plugin2.5修改版本部分;

#20151231generatorConfig.xml 文件 增加配置;防止mysql 在使用过程中出现 精度缺失(时分秒);并修复之前的sysmanUser sysmanRole sysmanResource 三张表结构存在的问题;修复后注意 mapper.xml 文件中 jdbcType 由 Date 类型 调整为 #{createTime,jdbcType=TIMESTAMP}

#2016010comsumer-web模块,list列表展示页面增加如下js css 引入;解决小屏幕窗口自适应问题;兼容手机端相应响应式布局,解决列表页面自适应问题;

约定大于配置,约定包结构命名规范;

#20160103新增 MutiModule-Hadoop 模块,用来简单测试 hadoop相关功能,现阶段完成 次数统计 的简单功能;

#20160124增加Dubbo-RWSeperate模块: jetty启动的功能部分;增加json2.js 插件,用来解决前端json解析功能;增加jquery.cookie.js 插件,用来解决前端操作cookie功能;前端为了有效使用cookie,创建object对象存放多个cookie值,解决cookie数的限制(同时需要注意cookie大小的限制)

#20160226comsumer-web模块: 新增 BaseEmptyController 类文件,解决 AOP(LeftMenuDataAop) 时部分方法不需依赖 BaseController 的问题:public class BaseController extends BaseEmptyController

consumer-web模块:  增加无此权限的情况,直接不显示左侧菜单栏;

#20160229consumer-web模块: 修复bug: sys_sysmanresource表中 parent_ids 字段的处理,修复字段保存不准确的情况;修复bug: jquery.metisMenu.js 文件,控制菜单回显展开;$('#li-' + leftMenuId).addClass("active");$('#li-nav-second-' + leftMenuId).addClass("active");$('#ul-nav-second-' + leftMenuId).addClass("collapse in");$('#ul-nav-third-' + leftMenuId).attr('aria-expanded', true);$('#ul-nav-third-' + leftMenuId).addClass("collapse in");$('#li-' + leftMenuId + ' .collapse').removeClass("collapse" );

#20160301common模块: 增加 File DataBase 操作,解决使用文件进行资源CRUD 的功能;FileDatabaseHelperTest 为单元测试,获取console控制台输入的信息,进行资源CRUD功能;

#20160302common模块: 增加一致性Hash 的简单实现;com.MutiModule.common.utils.hash.ConsistentHash 类文件;

#20160307新增 MutiModule-simpleRPC 模块,此模块为简单的RPC功能,解决方案为 动态代理(java.lang.reflect.Proxy)+ socket编程;包含单元测试,RpcConsumer RpcProvider 两个类;

consumer-web模块: 登陆页面增加 redirect 功能,解决登陆页面直接redirect到用户关注的页面功能;						左侧菜单部分数据回显,移除cookie部分的依赖,防止左侧菜单由于更换浏览器造成回显失败;						此部分处理逻辑在 AOP内部 ,LeftMenuDataAop.java 文件;						common模块:	增加  对象集合转换为 属性结构的转换功能;	/src/test/java 下 com.MutiModule.common.treeNode 包路径下;		单元测试详见 ToTreeNodeTest.java 文件;

#20160308Dubbo-consumer模块: 增加按钮级别的权限控制解决方案:后台权限控制资源配置增加 按钮级别的权限控制部分,并且在分配角色权限时进行分配;注意 页面中的权限资源按钮部分的名称要跟页面的名称保持一致,这样,就可以针对按钮级别进行权限控制;Dubbo-persist模块: 数据库文件发生变化,进行更新;

Dubbo-consumer Dubbo-provider-read Dubbo-provider-write 三个模块:	抽离 配置文件 xml 内部的 		<dubbo:registry protocol="zookeeper" address="192.168.2.211:2181" />	部分 到 Dubbo-api 模块中,减少重复代码;一个地方修改即可;

#2060310Dubbo-consumer 按钮级别的功能权限下,不能再存在按钮级别的功能权限;

SpringMVC UTF-8 中文支持	如果SpringMVC 返回的是一个String字符串,这里会出现中文乱码的情况,可以参考如下代码:	@RequestMapping(value = "/utf8Test", produces = "application/json; charset=utf-8")	@ResponseBody	public String utf8Test() {		Map<String, String> map = new HashMap<String, String>();		map.put("alexgaoyh", "中国");		return JSONUtilss.toJSon(map);	}如有有一个方法如上,通过浏览器访问,会发现如果存在中文情况的话,会出现中文乱码;	此时需要注意  produces = "application/json; charset=utf-8"  这一段代码段落;

#20160311下一步判断 菜单级别 无限极操作是否可以实现;

#20160321升级 org.json.json 包版本,common模块 增加将 xml 字符串 转换为 json 串 的方法;

#20160318Dubbo-* 模块: 一对多的CRUD 操作;需要注意右侧的这种sql格式,mysql执行是会有问题的: delete mutidatabase a

#20160319增加 CFX 依赖,解决直接调用webservice 的单元测试 com.MutiModule.common.soap.cfx.CFXWebServiceTest

#20160321Dubbo-consumer 模块,一对多CRUD 功能增加多方delete处理

#20160322Dubbo-consumer 模块: 一对多CRUD 修复多方无值时数据查询失败的bug; 修复for循环时nullpointer异常;Dubbo-write 模块: 一对多CRUD ,删除操作时真正删除多方数据bug修复;Dubbo-consumer 模块:依赖MutiModule-upload模块,解决图片上传操作,webuploader 功能;

#20160413Dubbo-persist模块: 表结构标准化:sys_sysmanuser -- sys_sysman_user 采用下划线分词模式数据库文件已经提交到 Dubbo-RWSeperate-persist 模块:

#20160421Dubbo-RWSeperate-* 模块:将 sys_* 后台 RABC 相关的表结构都进行处理,移除 Example 相关的表结构,改为自定义的通用方法;本地扩展mybatis-generator 插件,自定义插件解决基础功能处理;后续有新的业务逻辑,则重新扩展此自定义插件;

#20160613Dubbo-RWSeperate-* 模块:将ID 的字段属性修改为 字符串类型; 将 createTime 的字段属性修改为 字符串类型;某种程度上先解决数据库无关性的操作; 需要注意,现阶段为保证时区的问题,数据库中存储的都是 0 时区的时间格式(GMT),在查询出来数据之后,将数据自动转换为系统所属时区的时间格式;GMT 就是格林威治标准时间的英文缩写(Greenwich Mean Time 格林尼治标准时间);数据库有修改,脚本查看 persist模块的 doc文件夹;

#20160618Dubbo-RWS*-* 模块:省市区数据信息的 zTree 模块的 大数据异步加载功能实现;IP地址转换方式功能实现: ip到地名的映射库(参考 common模块的 IP2RegionUtilss 类注释文件)

#20160622Dubbo-RWS*-persist:增加model类的自定义注解实现为了后续 数据权限的实现,在生成model类的过程中,增加自定义注解部分代码的生成

#20160629Dubbo-RWSeperate-provider-read 模块:增加AOP 注解,测试解决 数据权限的问题:注意 com.alexgaoyh.MutiModule.Dubbo.RWSeperate.provider.read.dataAuthority.annotation 包下的类文件;一个是针对 method(方法),说明这个方法需要进行数据权限的设定,需要在执行前增加额外的数据参数的增加;一个是针对class (类) , 说明这个类 需要增加额外的数据权限的设定,其中className 用来存储真正关联的实体类的绝对路径;

	通过使用 AOP 方式,在执行service方法之前,动态把相关配置的数据权限加载到入参参数中;		使用方式,需要在需要植入数据权限的service实现方法部分加上 DataAuthorityMethodAnnotation 注解; 在此service实现类部分加上 DataAuthorityClassAnnotation 注解(同时加上 className 部分(实体类绝对路径));		增加相关的 SqlModelVO 类注释,详见 com.alexgaoyh.MutiModule.Dubbo.RWSeperate.provider.read.dataAuthority.aspect.test.vo.DictDictionaryVOUtilss 类文件,可以通过 DictDictionaryTest 单元测试部分进行测试检查; 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap