快速开始

项目下载

手动下载

手动下载方式如下图所示:

下载后解压即可。

git clone

安装了git的用户也可以直接使用下面的命令进行克隆:

1
git clone https://github.com/wuyouzhuguli/FEBS-Shiro.git

项目导入

IDE工具选择Eclipse或者Intellij IDEA均可。这里以IDEA为例演示如何导入项目(后续的文档均以IDEA为例)。

如下图所示,点击打开项目:

在IDEA的maven配置中,最好选择一个空的本地maven仓库,以免造成不必要的依赖冲突:

接下来等待IDEA下载完依赖即可。

创建数据库

导入完项目后,接下来开始创建数据库。使用Navicat(或者别的数据库客户端)创建一个新的数据库,名称为mrbird(或者别的你喜欢的名字),并选择UTF8编码:

创建完数据库,接着导入SQL文件。在项目的根目录下有个名称为init.sql的SQL文件:

直接拷贝执行即可。

如果数据库版本不是5.7的在执行SQL文件的时候会报错,这时候只需要根据报错信息简单修改SQL语句,然后重新执行即可。

SQL执行成功后便会创建如下数据表:

这里简单描述一下这些表的作用。

其中T_开头的表为系统表:

表名描述
t_user用户表,用于存储用户信息
t_role角色表,用于存储角色信息
t_user_role用于关联用户和角色,目的在于为用户分配角色
t_menu菜单表,用于存储菜单和按钮信息(以及相应的权限)
t_role_menu用于关联角色和菜单,目的在于为角色分配菜单和按钮权限
t_dept部门表,用于存储部门信息
t_dict字典表,用于存储字典信息
t_log日志表,用于存储用户操作日志
t_job调度任务表,用于存储调度任务信息
t_job_log调度日志表,用于存储任务调度日志

这里对于用户,角色和权限之间的关系使用的是经典的RBAC(Role-Based Access Control,基于角色的访问控制)模型。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。如下图所示:

在本项目中,权限相关的信息位于T_MENU表的perms字段中,并没有单独将权限拆分出来。这样设计是为了让权限和菜单/按钮的对应关系更为直观,也减少了不必要的数据表关联。

剩下的qrtz_开头的表用于维护任务调度,可以参考:http://www.ibloger.net/article/2650.html

项目中数据库链接信息可在application.yml中修改:

1
2
3
4
5
6
7
8
9
10
11
12
spring:
datasource:
druid:
# 数据库访问配置, 使用druid数据源
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.jdbc.Driver
# 数据库地址
url: jdbc:mysql://127.0.0.1:3306/mrbird?useUnicode=true&characterEncoding=utf8
# 数据库用户名
username: root
# 数据库密码
password: 123456

启动项目

在完成了上述步骤后,找到Application启动类,右键选择 Run ‘Application’即可。

启动后访问地址为:http://localhost:8080,用户名:mrbird,密码:123456。


© 2017 - 2018  MrBird & Hosted by Coding Pages