./build/application-prod.properties # 系统配置文件
./build/conf # 部署脚本配置
./build/build.sh # 打包并部署
./build/stop.sh # 停止系统运行
# 项目路径
RBAC_HOME=$(pwd)/..
# 编译路径
BUILD_HOME=$RBAC_HOME/build
# 配置文件名次
CONFIG_NAME=application-prod.properties
# 配置文件目录
CONFIG_PATH=$RBAC_HOME/rbac-web/src/main/resources/config
# pid 生成地址
PID_HOME=$BUILD_HOME/.rbac
# pid名次
PID_NAME=rbac.pid
# 打出的jar包名次
TARGET=$RBAC_HOME/rbac-web/target/rbac-web-1.0-SNAPSHOT.jar
# 生产环境目录(构建完成后,jar包的启动目录)
JAR_HOME=$BUILD_HOME/.rbac
JAR_NAME=rbacshiro.jar
2、应用配置:application-prod.properties
#应用占用的端口号
server.port=8081
#应用启动的访问路径
server.context-path=/rbac
spring.datasource.driverClassName=com.mysql.jdbc.Driver
#数据库链接
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/auth?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=
####
#如果要修改表结构,打开次选项
spring.jpa.hibernate.ddl-auto=update
# 建议 false
spring.jpa.show-sql=true
# 模板是否缓存 建议:true
spring.thymeleaf.cache=false
#上传文件的路径
upload.path=/Users/pandaking/IdeaProjects/rbac/upload
#系统dump的日志
server.tomcat.basedir=/tmp
# 日志目录
logging.path=/Users/pandaking/logs/
logging.level.root=INFO
1、mysql -uroot -p
2、source ./install/auth.sql
1、cd ./build
2、./startup.sh
1、http://ip:8081/rbac
2、系统会初始化2个账号
a、账号:admin 密码:1234qwer (拥有最高权限)
b、账号:test_001 密码:1qa2ws (测试账号)
由于所有的权限值都是存储在数据库中。在实际开发时,需要将这些权限值放入程序内部,
为了方便项目的开发,专门提供了权限的代码生成器。
在使用这个模块的时候需要进行简单的配置,让这个模块可以访问到到数据库。
配置文件在 ./build/dependency/Config.ini.php 的文件中。
具体的配置如下:
$mysql_host = '127.0.0.1'; # 数据库IP地址
$mysql_port = '3306'; # 数据库的端口号
$mysql_user = 'root'; # 数据库用户
$mysql_password = ''; # 数据库密码
$mysql_db_name = 'auth'; # 数据库名称
$mysql_charset = 'utf8'; # 数据库编码
Subject subject = SecurityUtils.getSubject();
Session session = subject.getSession();
org.springframework.rbac.shiro.Profile profile = session.getAttribute("profile");
String username = profile.getUsername();
String avatar = profile.getAvatar();
Subject subject = SecurityUtils.getSubject();
Session session = subject.getSession();
org.springframework.rbac.shiro.AuthInfo authInfo = session.getAttribute("authInfo");
List<String> managerUuid = authInfo.getUuid();
List<org.springframework.rbac.shiro.Menu> menus = authInfo.getMenus();
List<String> permissions = authInfo.getPermissions();