1.后端分模块开发
1.1 Maven项目(web层需要创建Maven-web项目)
2 vue(elementui)
前端使用的是vue项目
需要先下载各种服务
3. saas
3.1 saas平台是什么?
[SaaS]平台是运营saas软件的平台。SaaS提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房招聘IT人员,即可通过[互联网]使用信息系统。
Saas:软件即是服务
好处:(1)用户 什么事都不用,专门的人员来维护,自己也不买服务器
(2) 开发Saas这个平台厂商,掌握大量的数据,后期的推广
用户1 用户2 --租户
3.2 数据安全性
(1)一个数据库针对一个租户(企业)
好处和坏处: 数据安全程度最高,实现麻烦一点,根据租户去访问不同数据,频繁的切换数据库
(2) 共享数据库 独立的schema(用户)
一个库db里面 分不同用户user1 user2,用户管理各种的表 -->Oracle数据库
好处和坏处: 数据安全也比较高,也要切换访问不同用户的表
(3) 共享数据数据 ,共享用户,共享表 --设计起来最简单(现在我们就使用这种)
只需要在表里面 额外添加租户字段来区分到底是哪个租户
3.3 saas权限设计
涉及哪些东西:
用户 User —>角色 Role —>权限 Permission —>资源 Resource
用户和角色(多对多)
角色和权限(多对多)
权限和资源(一对一)
3.3.1 租户注册
用户:
Saas平台管理员:管理所有的数据 所有权限都有
租户管理员:管理自己的公司的员工 – 租户 tenant_id type 用来区分到时是不是管理员
普通用户: 各个租户下面的普通用户
3.3.2 购买套餐
设计页面 套餐页面
id | name | price | roleid | expiretime |
---|---|---|---|---|
1 | 普通餐 | 99 | 1(添加员工,删除员工,查询员工) | 20201110 |
2 | 霸王餐 | 999 | 2(添加员工,删除员工,查询员工.报表) | |
3 | 总统餐 | 99999 | 3所有功能都可以 |
4. Mybatis里面关系(mapper.xml)
mybatis: 一对一 多对一 (都是在处理1方)
一对多 多对多 (都是在处理多方)
如果要学会mybatis的关系–学习怎么处理一方和多方
注意: 分页的时候,只能使用嵌套查询 ,不要使用嵌套结果,有问题
5. shiro
(1)创建一个maven模块
(2)导入shiro的依赖包
引用: shiro 模块 -->pom.xml 引入server层
web 模块 -->pom.xml 引入shiro层
web.xml 配置代理过滤器
<filter>
<filter-name>shiroFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetFilterLifecycle</param-name>
<param-value>true