# bos_plus **Repository Path**: yanIcloud/bos_plus ## Basic Information - **Project Name**: bos_plus - **Description**: OA后台管理Project - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-10-11 - **Last Updated**: 2022-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #bos 物流项目开发
开发框架: struts2+Spring+SpringDataJpa ![avatar](./projectimg/2018-11-27_215606.png) 开发工具 后台 intelliJ IDEA 前台 webStorm JRE 1.8 操作系统 win10 linux6.7 数据库 Oracle10g web容器 tomcat7 此项目不仅是一个OA 属于OA+CRM ,技术点,细节部分较多,喜欢的朋友可以参考 采用的都是以 localhost 为访问路径,我自己尽力抽取为公共性, 服务器中部署即可上线. 架构: Struts2+ Spring + Spring Data(简化持久层) + JPA接口+ Hibernate(JPA显现) 后台管理系统 页面架构 :jQuery Easyui 框架 前端互联网系统 页面架构 :BootStrap 响应式 + AngularJS Excel解析、生成: POI 技术 远程调用: 基于Restful风格CXF 编程 第三方短信平台、邮件平台 使用 Redis缓存使用 、ActiveMQ消息队列 搜索服务器 ElasticSearch安装配送使用 , Spring Data 操作ElasticSearch服务器 定时调度框架: Quartz 在线HTML编辑器: kindEditor使用 权限管理框架: Apache Shiro 前端省级联动 city-packer 框架 自定义java 图片生成器 地图定位显示 实时化界面 LBS云存储 云数据等 ###搜索引擎 原理解析: 无论是Solr还是ElasticSearch这两种搜索都是基于Lucene的实现 首先 分词器: 它们自带的分词器都是 一个字一个字的分词,并不是基于我们中国的词条分词,所以需要安装IK分词器 相当于: 中国人民共和国 未分词: 中 国 人 民 共 和 国 IK分词: 中国 人民 共和国 ###shiro 权限控制的讲解 粗粒度 是基于 URL路径方式的控制 细粒度 是基于 Realms方式的控制 . Apache Shiro 权限控制(小结) ### 第一种:URL 级别粗粒度权限控制 配置 web.xml 的 shiroFilter 拦截 /* 在 spring 的 applicationContext*.xml 配置文件中配置同名 bean,配置 filterChainDefinitions 拦截控制规则 xxx.html* = anon (未登录可以访问) xxx.html* =authc (必须登录才能访问 ) xxx.html* = perms[权限] (需要特定权限才能访问) xxx.html* = roles[角色] (需要特定角色才能访问 ) ### 第二种: 方法级别细粒度权限控制 在 spring 的 applicationContext*.xml 配置 spring aop 对 spring 管理 bean 对象开启 shiro 注解支持 @RequiresPermissions(权限) 需要特定权限才能访问 @RequiresRoles(角色) 需要特定角色才能访问 @RequiresAuthentication 需要认证才能访问 ### 第三种:通过 shiro 自定义标签,实现页面元素显示控制 登录后才能访问 需要特定权限才能访问 需要特定角色才能访问 ### 第四种:在程序中通过代码 判断用户是否具有指定权限( 不太常用 ,有代码侵入 ) 自定义subject对java代码产生侵入性 ### 补充: 权限表达式 “:”代表子权限 权限 courier 包含 courier:add、courier:list、courier:* ,如果用户具有父权限,操作 所有子权限功能 权限 courier:list 包含 courier:list:10