# skadmin-server **Repository Path**: neal_star/skadmin-server ## Basic Information - **Project Name**: skadmin-server - **Description**: 一个适用于小微企业后台管理系统服务端的脚手架 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: https://gitee.com/luanhaoyu/skadmin-server - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2020-04-02 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # skadmin-server #### 项目介绍 一个满足小微企业后台管理系统服务端的脚手架 配合前端项目使用, 传送门[ https://gitee.com/luanhaoyu/skadmin](https://gitee.com/luanhaoyu/skadmin) 提供基本的用户登录,用户注册,多角色切换,角色管理,权限管理,部门管理,数据字典管理和文件存储的功能。 包含纵向越权的拦截, 多角色的切换, 横向越权未做处理(建议可通过建立用户和可操作资源的绑定关系来控制) #### 软件架构 springboot springmvc mybatis 通用mapper + mbg 通用mvc + crud-generator代码生成 传送门=>[https://gitee.com/luanhaoyu/crud-generator](https://gitee.com/luanhaoyu/crud-generator) swagger 提供可视化api接口 lombok 注解简化开发 #### 安装教程 1. 安装通用mvc依赖: [clone crud-generator](https://gitee.com/luanhaoyu/crud-generator.git) 根目录执行 clean install 2. [clone](https://gitee.com/luanhaoyu/skadmin-server.git)项目到本地 3. mysql数据库初始化 建立数据库,创建用户并赋权: ``` create database sking_admin; grant all privileges on sking_admin.* to sking_admin@'%' identified by 'sking_admin'; flush privileges; ``` 执行脚本skadmin-server\db.sql 3. 根目录执行 clean instatll 4. 自建一个maven项目(也可执行启动skadmin-server\skadmin-server-boot项目) 拷贝 skadmin-server\skadmin-server-boot 下所有文件覆盖自建项目 5. 找到SkingAdminApplication启动类 对pom.xml, application.yml, logback.xml,SkingAdminApplication.java可按需修改 run application即可 6. 访问swagger-ui接口 http://127.0.0.1:8080/swagger-ui.html ![输入图片说明](https://images.gitee.com/uploads/images/2018/0725/141201_e0beec87_1009390.png "屏幕截图.png") ### 生产请使用[1.0.1或master分支](https://gitee.com/luanhaoyu/skadmin-server.git) ### master为最新版本 不定期更新 ### dev为开发版本 #### 功能说明 1. 常用权限注解 - `@Permissions ` 标记在controller类表示该controller下所有api接口都需要授权 标记在controller `@RequestMappering`方法上表示该api接口需要授权 value值表示需要授权的权限名称 logical表示权限逻辑类型 默认为AND (与) 例如: ``` @RestController @RequestMapping("department") @Permissions public class DepartmentController extends BaseControllerImpl { public DepartmentController(@Qualifier("departmentService") AbstractService service) { super(service); } /** *部门树接口,需要department.view部门查询权限 **/ @Permissions(value = "department.view",logical = Logical.AND) @RequestMapping(value = "tree", method = RequestMethod.GET) public List tree(@Validated @ModelAttribute Department bean) { List departments = super.queryCond(bean); return TreeableUtil.toTree(departments, DepartmentTree.class); } } ``` - `@Authentication ` 标记在controller类或方法上,表示该类或方法只需要登录认证,无需授权即可访问 例如: ``` /** * @param name * @return java.util.List * @throws * @Title: userRoles * @Description: 获取用户已有角色 * @date 2018/6/8 17:28 */ @Authentication @RequestMapping(value = "userRoles/{name}", method = RequestMethod.GET) public List userRoles(@PathVariable("name") String name) { return RoleService.class.cast(service).listRolesByUserName(name); } ```