首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Coding
V2EX  ›  分享创造

分享一个 Shiro 权限管理系统,支持 HTTP Method 粒度的权限控制!

  •  1
     
  •   zhaojun1998 · 209 天前 · 2063 次点击
    这是一个创建于 209 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Shiro-Action

    Build Status https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square Codacy Badge https://img.shields.io/badge/springboot-2.0.6-orange.svg?style=flat-square https://img.shields.io/badge/apache%20shiro-1.4.0-green.svg?style=flat-square GitHub tag (latest SemVer)

    本项目使用 Spring Boot 搭建, 用于加深对 Spring Boot 与 Shiro 的学习, 项目特色是支持 restful 风格权限控制, 支持对同一 URL, 不同 HTTP Mehtod 的权限控制, 适用于更多的场景.

    项目地址: https://github.com/zhaojun1998/Shiro-Action

    预览地址: http://shiro.zhaojun.im/

    文档地址: http://docs.zhaojun.im/shiro/

    默认管理员账号: admin, 密码: 123456.

    普通用户账号: user, 密码: 123456.

    为了不影响其他人的浏览体验, 请尽量不要进行删除类的敏感操作. admin 为超级管理员, 自动拥有全部权限.

    快速开始

    下载项目

    git clone https://github.com/zhaojun1998/Shiro-Action.git
    

    导入项目

    使用自己的 IDE 导入, Eclipse 和 Intellij IDEA 均可.

    导入数据库

    创建数据库, 字符集选择 utf8, 排序规则选择 utf8_general_ci.

    然后导入 shiro_action.sql 到数据库中.

    配置文件

    打开 application.properties 修改 MySQLRedis 连接信息.

    spring.redis.host=127.0.0.1
    spring.redis.port=6379
    spring.cache.type=redis
    
    spring.datasource.username=root
    spring.datasource.password=123456
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/shiro_action?useSSL=false&characterEncoding=UTF8
    

    启动项目

    在完成了上述步骤后,找到 ShiroActionApplication 启动类, 启动即可.

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

    系统预览

    技术选型

    前端

    后端

    • SpringBoot 2.0.6.RELEASE
    • Shiro 1.4.0
    • MyBatis 1.3.2
    • Druid 1.1.10
    • PageHelper 1.2.9
    • Shiro-Redis 3.2.3

    大家对此项目有什么建议和意见,都欢迎提出。

    14 回复  |  直到 2019-05-22 09:26:44 +08:00
        1
    AnnieSWonderland   209 天前
    登录不上去![]( http://picbed.owudo.cn/test.gif
    )
        2
    zhaojun1998   209 天前
    @AnnieSWonderland 清理下缓存,或换一个浏览器试试,我这测试可以登录
        3
    AnnieSWonderland   209 天前
    @zhaojun1998 =.=,第一次登录可以登录,然后我把所有用户强制下线后就登陆不了了,清除缓存也不行,但是隐身模式可以登录!!!
        4
    zhaojun1998   209 天前
    @AnnieSWonderland 这应该算 bug,我自己会复现下试试。我猜测应该是强制下线后,服务器标记 sessionId 不可用了,但浏览器还在 cookie 中留了 sessionId 导致的问题。
        5
    AnnieSWonderland   209 天前
    @zhaojun1998 看了下,只要在在线用户中将自己下线后就再也登录不上去了,但是不知道为啥就算我清理了所有的缓存依然登录不上去,cookie,storage...只有无痕模式可以
        6
    zhaojun1998   208 天前
    @AnnieSWonderland 嗯,我再排查下原因,晚上下班后解决。
        7
    zsy979   208 天前
    最近刚用 Shiro 做了权限控制,来学习一下楼主的
        8
    huguang3320   208 天前
    已 down 帮顶
        9
    zhaojun1998   207 天前
    @AnnieSWonderland 老哥,如详细说下咋操作的吗,我这复现不了啊
        10
    AnnieSWonderland   207 天前
    @zhaojun1998 电脑有点卡,录得有点卡 ![]( http://picbed.owudo.cn/test.gif)
        11
    AnnieSWonderland   207 天前
    @zhaojun1998 上面那个图片发错了,重发一个 ![]( http://picbed.owudo.cn/testlogin.gif)
        12
    zhaojun1998   207 天前
    @AnnieSWonderland ok 我复现成功了,我看看到底什么导致的。
        13
    kylix   207 天前
    感谢分享,mark 一下
        14
    zhaojun1998   207 天前
    @AnnieSWonderland 找到原因了,是我 nginx 反向代理的问题。加上 nginx 反代就会出现这个问题。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2000 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 02:32 · PVG 10:32 · LAX 18:32 · JFK 21:32
    ♥ Do have faith in what you're doing.