# SpringSecurity **Repository Path**: wanho/spring-security ## Basic Information - **Project Name**: SpringSecurity - **Description**: SpringSecurity安全框架实现登录认证以及权限管理 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-01-09 - **Last Updated**: 2024-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, SSM, SpringSecurity, MyBatis, MySQL ## README # SpringSecurity #### 介绍 SpringSecurity安全框架实现登录认证以及权限管理 (我刚毕业,这是我第一个git的demo,有写不好的希望大佬们多多指点) #### 软件架构 软件架构说明 spring + mybatis + springSecurity +mysql 数据库说明 java_admin--后台用户表 java_admin_group -- 后台角色表 java_admin_group_role --菜单表 java_admin_role --角色权限表 (角色和菜单表关联) 权限从数据库读取,可后台动态控制 //开启接口权限判断 @EnableGlobalMethodSecurity(prePostEnabled=true,securedEnabled = true) 在接口添加 @Secured 注解 即可权限控制 #### 安装教程 1. 安装好数据库 myjavasql文件 2. 配置好 resources 里的 mybatis-config.xml 配置文件,链接上数据库, 3. 然后直接跑项目就可以了 #### 目录 com.example.demo ——— 目录 common ———— 公共资源目录 MyBatisUtils (配置好mybatis) controller ———— 控制器目录 admin ———— 后台控制器目录 AdminController--控制器 测试权限 security ———— SpringSecurity 实现目录 config ———— Security配置目录(开启Security) dao ———— Mapper层 实现登录与查询权限等sql errorthrow —————— 错误抛出实现类 (权限不足,以及未登录抛出) model —————— 实体类 service —————— 业务层 登录业务,查询验证权限,用户等业务 #### 使用说明 1. 跑起来后进入网页访问 会进入到 springSecurity 默认登录页面,本demo没有配置自己的登录页面 数据库里面有两个用户 (用户名 admin 密码 123456 权限有:首页权限以及菜单权限) (用户名 123456 密码 123456 权限有首页权限以及商品权限) 2. @EnableGlobalMethodSecurity(prePostEnabled=true,securedEnabled = true) 为开启权限注解 即在控制器里添加 @Secured("ROLE_AAA") 注解可实现权限控制 3.service业务层里的 UserDatailsServiceImpl 实现了自定义的 security登录 加密方式为 BCryptPasswordEncoder() #### 参与贡献