1 Star 0 Fork 33

2307856559 / blzo

forked from jdkhome / blzo 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

BLZO!超级脚手架!

基于springboot的企业级快速开发脚手架.

BLZO是一个基于springboot的企业级快速开发脚手架。包含了一个简单易用(无论是对用户还是开发者)且功能强大的管理后台!十分适合中小型项目快速迭代。
使用 jdk11 环境,gradle 4.10/5.0 或以上版本 推荐使用idea进行开发

感谢:

主要技术栈:

用到的其他项目:

诚挚感谢以上所有项目!(当然远不只是以上!感谢你们!)


项目描述:

包含 3个模块

  • common : 公共模块,可以将常量、枚举、工具类 等内容放在这里
  • core : 业务模块,根据你的业务复杂度,扩展多个不同的业务模块
  • manage : 管理后台,完全不侵入业务的管理后台,提供了一套使用简单却功能强大的权限菜单管理功能

业务方面,目前只做了一些基础且通用的功能(或代码示范),比如 请求日志、异常处理、参数校验等。 未来可能会整合一些通用的业务代码进来。

管理后台,实现了完整的权限管理功能:

对于用户:

  • 可以自由创建管理员账户
  • 管理员可以创建分组,可以将自己拥有的权限授权给自己创建的分组,权限可以是页面也可以精确到某个具体的按钮
  • 分组的创建者可以将其他管理员加入到分组中,该管理员就会获得这个分组中被赋予的权限
  • 得到的权限可以继续授权给新的分组,并继续传递
  • 权限的传递是基于继承关系的,当管理员失去了某个权限,那么所有由他传递出去的这个权限都会被收回,无论何时授权、传递了多少级
  • 每个用户都可以自定义自己的功能菜单

一个通俗易懂的场景: 我是小组组长,我可以为我的下属分配一些我有的权限,并且可以随时收回

视频演示

截图:
我的权限: 我的权限 我的菜单: 我的菜单

试用(请不要修改root用户的密码,如果无法登录请联系我,数据库会定期重置,请不要搞事蟹蟹!):

http://blzo-manage.jdkhome.com
root
1234abc

对于开发者:

一般来说,如果要实现支持用户自定义权限、自定义权限传递(组 或者 角色) 这样灵活的功能,不可避免的要有很多配置:
有的保存在数据库里,有的使用json/xml做成配置文件。
大多数情况,都需要开发者将完成的功能配置成权限,而在项目快速迭代的过程中,配置权限就会显得十分麻烦。
如果删除了某个功能,或者修改了页面/接口的URI,这时候还要去另外去维护权限的配置,总之,我认为这样对开发人员很不友好。
即使你提供了图形界面,把上面这些麻烦事抛给用户依然不能从根本上解决问题。

那么现在介绍使用 BLZO ,如何轻易的完成这件麻烦事。

/**
 * author link.ji
 * createTime 下午3:17 2018/12/5
 * Demo
 */
@Slf4j
@Controller
public class DemoController {

    /**
     * 代表这个接口 的名称是 "demo接口1" 它需要鉴权 它不能作为菜单 它不属于公共权限
     * @return
     */
    @Authj(value = "demo接口1", auth = true, menu = false, common = false)
    @ResponseBody
    @RequestMapping(value = "/api/manage/demo/api_1", method = RequestMethod.POST)
    public ApiResponse apiManagerDemoApi1() {
        return ApiResponse.success();
    }

    /**
     * 代表这个页面 的名称是 "demo页面1" 它需要鉴权 它可以作为菜单 它不属于公共权限
     * @return
     */
    @Authj(value = "demo页面1", auth = true, menu = true, common = false)
    @RequestMapping("/manage/demo/page_1")
    public String groupAuth() {
        return "manage/demo";
    }


}

仅仅只需要在方法上增加一个 @Authj 注解!
你可以随时修改、删除接口/页面的名称、URI 或者一切你想要变动的东西!
将100%的精力花在业务上,再也不用去关注那些权限配置、菜单配置了!

root用户(超级管理员) 会获得由 @Authj 注解标注的所有页面、接口的权限,并进而将这些权限授予更多管理员!

快速开始:

todo(待编写。。。)

空文件

简介

BLZO是一个基于springboot的企业级快速开发脚手架。包含了一个简单易用(无论是对用户还是开发者)且功能强大的管理后台 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/2307856559/blzo.git
git@gitee.com:2307856559/blzo.git
2307856559
blzo
blzo
master

搜索帮助