![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ssm
凡哥的博客
这个作者很懒,什么都没留下…
展开
-
saas-export项目-加盐加密
凭证匹配器-普通加密(1)加密将明文加密成密文保存,账号保存在数据库中是需要加密码的(2)加密算法http://www.ttmd5.com/list.php(3)实现》1 对数据库密码进行md5加密使用mysql的md5函数对密码进行加密,然后直接修改数据库的用户密码》2 在applicationContext-shiro.xml,添加加密认证配置MD5Utilspublic class MD5Utils { public static String stringToMD5(原创 2020-11-14 21:38:17 · 152 阅读 · 0 评论 -
saas-export项目-shiro认证
Shiro过滤器&标签简介判断 sesion中是否有 user 判断账户密码是否正确(1)分析需要过滤器控制 没有权限下访问链接需要标签控制 没有权限下 界面元素的隐藏》anon代表不认证也可以访问,通常对静态资源进行放行》authc代表必须通过认证才可以访问,通常对动态资源(controller,jsp页面)进行拦截,如果用户没有认证,Shiro会自动跳转到login.jsp页面Shiro登录认证-判断session中的user(1)过滤器在项目中使用认证过滤器拦截资源(该原创 2020-11-11 16:55:43 · 136 阅读 · 0 评论 -
saas-export项目-apache shiro框架
Shiro简介(1)Shiro是什么?Apache Shiro是一个强大且易用的Java安全框架/权限框架本质:预先定义好的权限代码(过滤器,RBAC模型设计,JSP标签等)(2)Shiro有什么用?执行身份验证、授权(查询有什么权限)、密码学(md5,sha1)和会话管理(3)Shiro有什么特点?常见的权限框架有apache Shiro ,与spring Security等Shiro的功能组成(1)有四大功能》认证,授权,加密,会话管理(2)认证:判断账号密码Authe原创 2020-11-10 21:33:39 · 123 阅读 · 0 评论 -
saas-export项目-系统日志AOP
Aop记录日志(1)什么是AOPAOP ,Aspect Oritentd Programing 面向切面编程本质就是在不改变代码的基础上生成动态代理类(新类)(2)应用场景》日志记录》事务管理》权限管理》性能数据记录Aop记录日志实现(1)实现步骤》编写日志切面类(@Aspect)》编写springmvc.xml, 开启Aop自动代理》测试Aop,自动记录日志(2)实现LogAspect编写日志切面类(@Aspect)//第一步:编写切面类@Aspect /原创 2020-11-10 20:43:24 · 70 阅读 · 0 评论 -
saas-export项目-系统日志管理
系统日志管理(1)分析记录用户的访问的Controller与ip等信息属于监控功能只有查看与保存功能(2)数据组成//设置登录用户信息 seesion获取//设置企业信息//IP地址 request获取//设置记录时间//执行的方法名称 新方法获取//执行的类名称系统日志管理实现两个功能,一个是分页显示,一个是保存日志》SysLog》TestSysLogService》ISysLogService,SysLogServiceImpl》 ISysLogDao,I原创 2020-11-10 18:57:26 · 140 阅读 · 0 评论 -
saas-export项目-动态菜单
动态菜单分析分析不同的用户进入主页,看到的左侧菜单是不同的其实是,根据用户等级与RBAC查询用户的权限动态菜单等级等级与模块的对应关系》如果User的degree=0, 说明是saas管理员,查询saas管理员所属模块》如果User的degree=1, 说明是租用企业的管理员,查询租用企业的管理员所属模块》其他的用户类型。统一根据用户的userId查询RBAC的表,查询其拥有的模块。(先看效果)等级与模块的对应关系Sql实现(1)userId查询它的degree(2)对d原创 2020-11-09 20:58:33 · 111 阅读 · 0 评论 -
saas-export项目-用户登录,显示,退出
用户登录(1)分析提交账号密码到后台验证》成功,进入主页》失败,提示用户(2)实现》 TestUserService》 IUserService,UserServiceImplUser findByEmail(String email);》 IUserDao,IUserDao.xml》 UserController,xxx.jspsession.setAttribute(“loginUser”,user);TestUserService@Test public void原创 2020-11-09 17:18:03 · 191 阅读 · 0 评论 -
saas-export项目-修改用户角色
修改用户角色后台TestRoleService@Test public void test05(){ String userId="002108e2-9a10-4510-9683-8d8fd1d374ef"; String[] roleIds = {"4028a1c34ec2e5c8014ec2ebf8430001"}; //修改用户角色 service.updateUserRole(userId,roleIds); }原创 2020-11-07 11:06:03 · 123 阅读 · 0 评论 -
saas-export项目-用户角色页面显示
进入用户角色页面user-list.jsplocation.href="${path}/system/user/toUserRole.do?userId="+id;UserController//location.href="${path}/system/user/toUserRole.do?userId="+id; @RequestMapping(path = "/toUserRole",method = {RequestMethod.GET,RequestMethod.POST})原创 2020-11-07 09:58:40 · 150 阅读 · 0 评论 -
saas-export项目-角色授权页面保存
角色授权页面保存分析,给角色添加权限,无非就是在中间表中生成记录必须使用roleId(1个),moudleIds(多个)TestModuleService @Test public void test06(){ //修改一个角色的权限,不仅仅是添加,也可能是减少 String roleId="1"; //减少指定角色的权限 //String moduleIds="201"; //添加角色的权限原创 2020-11-05 20:45:14 · 158 阅读 · 0 评论 -
saas-export项目-角色授权页面显示
打开授权页面显示角色名称role-list.jsplocation.href="${path}/system/role/toRoleModule.do?roleId="+id;RoleController //location.href="${path}/system/role/toRoleModule.do?roleId="+id; @RequestMapping(path="/toRoleModule",method ={ RequestMethod.GET, RequestMe原创 2020-11-04 21:32:28 · 136 阅读 · 0 评论 -
saas-export项目-Ztree菜单与ajax
给角色分配权限–用户操作界面(1)用户不会写sql,如何给角色分配权限?通过分级菜单来选择(2)业务流程》先查询所有的模块/权限》显示在分级菜单》获取分级菜单上的选中值Ztree介绍(1)什么是Ztree?zTree 是一个依靠 jQuery 实现的多功能 “树插件”。在使用的时候,先导入jquery才能导入zTree(2)Ztree在哪里使用到?》树状菜单》树状数据的Web显示》权限管理等等(3)Ztree有什么特点?优异的性能、灵活的配置、多种功能的组合是 zTre原创 2020-11-04 19:26:29 · 95 阅读 · 0 评论 -
saas-export项目-角色授权-分析
给角色分配权限(1)给角色分配权限?包含》给角色添加权限》修改某个角色的权限(2)给角色分配权限的本质是?操作角色权限表pe_role_module表(中间表)添加权限插入记录先删除权限再添加给角色分配权限–数据库操作-- 先创建角色insert into pe_role (role_id,name,company_id,company_name) values ('1','鼓励师','1','吉首大学')-- 操作中间表——角色权限表-- 添加权限 insert in原创 2020-11-04 15:22:44 · 88 阅读 · 0 评论 -
saas-export项目-RBAC权限模型
RBAC权限模型引入(1)如何设计用户权限普通的用户权限设计三个表搞定(用户表,权限表,用户权限表)(2)有什么特点?》1 租户增加,选成会大量的冗余数据!》2 添加或者删除权限不方便建议使用RBAC权限模型RBAC权限模型介绍(1)什么是RBAC权限模型?RBAC 是基于角色的访问控制(Role-Based Access Control )(2)RBAC权限模型有什么特点?》》1 先给角色设置权限》》2 再给用户分配角色》》3 最后用户得到这些角色的权限》》原创 2020-11-01 21:57:19 · 271 阅读 · 0 评论 -
saas-export项目-部门管理-部门删除
部门删除分析(1)尝试删除指定id的部门数据(2)如果当前部门没有给其他部门作上级,则可以删除成功,否则删除失败》1 判断是否有没有给其他部门作上级》2 再删除# 判断 记录数==0 是可删除的select count(*) from pe_dept where parent_id=#{deptId}delete from pe_dept where dept_id=#{deptId}部门删除后台TestDeptService@Test public void test06原创 2020-11-01 21:36:15 · 224 阅读 · 0 评论 -
saas-export项目-部门管理-部门更新
部门修改后台原创 2020-11-01 21:20:52 · 124 阅读 · 0 评论 -
saas-export项目-部门管理-打开编辑页面与页面数据的回显
打开编辑页面dept-list.jsp<button type="button" class="btn bg-olive btn-xs" onclick='location.href="${path}/system/dept/toUpdate.do?deptId=${dept.deptId}"'>编辑</button>DeptController // ${path}/system/dept/toUpdate.do?deptId=${dept.deptId} @原创 2020-10-30 20:50:04 · 108 阅读 · 0 评论 -
saas-export项目-AdminLTE介绍与入门
AdminLTE介绍(1)AdminLTE是什么?AdminLTE是一款建立在bootstrap和jquery之上的开源的模板主题工具(2)AdminLTE有什么特点?提供一系列响应的、可重复使用的组件, 并内置了多个模板页面自适应多种屏幕分辨率,兼容PC和移动端快速的创建一个响应式的Html5网站AdminLTE 不但美观, 而且可以免去写很大CSS与JS的工作量AdminLTE入门官方原版https://adminlte.io/https://github.com/Color原创 2020-10-23 21:20:05 · 144 阅读 · 0 评论 -
PowerDesigner介绍与使用
PowerDesigner介绍(1)PowerDesigner是什么?Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程(2)PowerDesigner有什么特点?优点:不用在使用create table等语句创建表结构,数据库语句,可以自动生成数据库设计人员只关注如何进行数据建模即可(3)使用PowerDesigner对数据库建模?创建Physical Data创建表,输入表的字段原创 2020-10-23 20:33:59 · 34742 阅读 · 2 评论 -
saas-export项目-项目搭建-转换器与处理器
日期类型转换器(1)springMVC默认不支持页面上的日期字符串到后台的Date的转换url?date=2020-02-02 方法(Date date)(2)可以有两种方式配置全局日期转换器配置日期转换注解测试CompanyController @RequestMapping(path="/testDate.do",method = RequestMethod.GET) public String testDate(Date date){ //该参数接收浏览器提交的日期字符原创 2020-10-23 19:23:20 · 105 阅读 · 0 评论 -
saas-export项目-项目搭建-spring整合springmvc
spring整合springmvc(1)log4j.properties(2)web.xml(3)springmvc.xmllog4j.propertiessrc\main\resources\log4j.propertieslog4j.rootLogger=info, stdout, logfilelog4j.category.org.springframework=info#log4j.category.org.apache=INFOlog4j.appender.stdout=原创 2020-10-23 17:15:32 · 148 阅读 · 0 评论 -
saas-export项目-项目搭建-service
export_system_service(1)service依赖dao(2)编写测试(3)如何读取另一个工程的spring的配置classpath: 加载当前maven工程的resources目录下的配置文件classpath*: 加载当前maven工程及其依赖工程的resources目录下的配置文件applicationContext-*.xml: 读取所有符合规则的文件TestCompanyServicesrc\test\java\com\lfy\service\company\T.原创 2020-10-23 16:58:31 · 112 阅读 · 0 评论 -
saas-export项目-项目搭建-解决字段名与变量名不一致
export_dao解决数字库表字段与类的成员变量不一致方式1:sql语句 使用 as方式2:mybatis里面使用resultMap标签方式1:sql别名ICompanyDao.xml<mapper namespace="com.lfy.dao.company.ICompanyDao"> <select id="findAll" resultType="company"> select id, n.原创 2020-10-23 16:47:56 · 86 阅读 · 0 评论 -
saas-export项目-项目搭建-Spring整合Mybatis
spring整合Mybatispom.xml(export-parent)<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${mybatis.spring.version}</version></depen原创 2020-10-23 16:31:28 · 95 阅读 · 0 评论 -
saas-export项目-项目搭建-父子项目
导入数据库调用图形化工具执行sql文件创建父项目 parentexport_parent(1)创建Project工程,不需要勾选模板(2)添加依赖pom.xml <!-- 定义依赖的版本号 --> <properties> <junit.version>4.12</junit.version> <spring.version>5.2.9.RELEASE</spring.v原创 2020-10-23 16:10:38 · 75 阅读 · 0 评论 -
SSM之CRUD开发版本V2的部门增删改查
复制工程复制ssm02成ssm03修改 id、name增加 模块标签Controller方法返回值类型(1)Controller方法返回类型可以有几种?ModelAndViewvoidStringObject(2)@ResponseBody调jackson库将Object转成json字符串返回(3)依赖配置jackson库<dependency> <groupId>com.fasterxml.jackson.core</grou原创 2020-10-20 21:23:29 · 105 阅读 · 0 评论 -
SSM之CRUD开发版本V1的部门增删改查
项目简介(1)项目的经典模块-CRUD功能(2)什么是CRUDCRUD:Create( 创 建 ) Retrieve(查询) Update(更新) Delete(删除)(3)使用什么技术ssm:Spring+SpringMVC+MyBatis(4)版本V1 : ssmV2 : ssm+AjaxV3 : ssm+Ajax+bootstrapsqlcreate database crud;use crud;create table department( did int原创 2020-10-19 16:52:56 · 105 阅读 · 0 评论 -
SSM整合***
SSM整合说明(1)SSM是什么?Spring,SpringMVC,Mybastis(2)为什么要专门训练SSM要开发一个项目,首先是搭建SSM环境,之后才能开发其他功能(3)整合思路是什么?1.先搭建整合的环境2.先把Spring的配置搭建完成3.再使用Spring整合SpringMVC框架4.最后使用Spring整合MyBatis框架(4)SSM整合可以使用多种方式,咱们会选择XML + 注解的方式SSM搭建环境(1)创建ssm数据库(2)创建maven工程(3)prop原创 2020-10-16 15:32:29 · 132 阅读 · 0 评论