springboot security 权限不足_springBoot整合springSecurity(零一)

整体结构===》》》

v2-ab33e11e569644757f55c995ceea623f_b.jpg

1,springboot2.0整合springSecurity5.1.1

2,mysql--->>InnoDB

3,持久层我用的是用MybatiysPlus(这里就不写关于这个的了,基本是查)

4,web服务不是jar服务

5,数据库表=》账户表/角色表/权限表/账户角色关联表/角色权限关联表

6,需要说一下的是角色表,给框架返回的角色码需要以ROLE_开头,

例如;

v2-6177a48823e63514aa549a4811af4e5b_b.jpg

实现功能:

spring boot整合security

1,基于内存账户登陆

2,自定义数据库账户角色权限登陆

3,结合security推荐加密账户密码

4,自定义捕获无权限访问异常信息

5,控制session会话并捕获超时异常

二:===================================================

去年写过关于这两个框架的东西,但现在回头看以前写的纯粹是废纸一张,不知道有没有误人子弟;

========================pom.xml==========================

<

====================application.yml=========================

#action  YAML配置式
logging:level:org.springframework: INFOcom.example: DEBUG
#服务端口
server:port: 8080servlet:session:#spring boot升级后必须要加时间标识秒timeout:10s
spring: datasource:  url: jdbc:mysql://127.0.0.1:3306/databaseName?useUnicode=true&characterEncoding=UTF-8&useSSL=falseusername: rootpassword: 172575 driverClassName : com.mysql.jdbc.Driverthymeleaf:prefix : classpath:/templates/      #扫描文件路径suffix : .html 			#文件格式cache  : false 			#关闭缓存encoding: UTF-8  		        #编码格式#content-type:text/html             #加载网页内容 mode: HTML5
mybatis:mapperlocations : classpath:mapper/*.xmltypealiasespackage : springSecurity.enity

===================Application.java==========================

package 

===================SecurityConfig.java========================

package 

========================SecurityService=====================

package 

========================ExceptionSecurity.java=================

package 

========================WebContorller.java===================

package springSecurity;import java.util.UUID;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import springSecurity.dto.SysRole;
import springSecurity.dto.SysUser;
import springSecurity.service.SysRoleService;
import springSecurity.service.SysUseraccount;/*** @author Administrator zpy 20181110*/
@Controller
public class WebContorller {private static Logger logger = LoggerFactory.getLogger(WebContorller.class);@AutowiredSysUseraccount sysUserService;@AutowiredSysRoleService sysRoleService;// 默认转向登陆@RequestMapping("/")public String loading() {return "login";}// login action@RequestMapping(value = "/login")public String userLogin() {return "login";}// 进入主菜单@RequestMapping(value = "/index")public String index() {return "index";}//权限不足拒绝页面@RequestMapping("/403")public String Noloading() {return "403";}//session超时去往超时页面@RequestMapping("timeOut")public String timeOut() {return "timeOut";}}

HTML页面不太会写,可以自己写几个简单的html对应contorller的跳转地址就成;

结语:

那几个不太重要的service就不写了,基本就是根据账号查账户表信息,然后根据账户表的编号查角色账户关联表,得到角色信息,然后根据角色信息返回给扽路账户进行正常访问请求;

启动以后,直接访问htp://127.0.0.1:8080即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

聊聊PowerJob的OmsLogHandler

序 本文主要研究一下PowerJob的OmsLogHandler OmsLogHandler tech/powerjob/worker/background/OmsLogHandler.java Slf4j public class OmsLogHandler {private final String workerAddress;private final Transporter transporter;private final ServerDiscoveryService …

[html] 为什么移动端页面的设计稿一般是750px/640px呢?

[html] 为什么移动端页面的设计稿一般是750px/640px呢&#xff1f; 750px 代表iphone6或inphone6s 设备的像素(宽) 640px 代表inpone3Gs&#xff0c;inpone4/4s iphone5系列 设备的像素(宽) 其他手机大多数时这两种规格 750px/640px 代表的逻辑像素是 375px/320px&#xff0c;…

m文件中函数的执行顺序

当进行多个GUI协同工作时&#xff0c;要用到uiwait和uiresume函数。此时&#xff0c;理解函数的执行顺序此时是很关键的。 首先理解uiwait和uiresume函数的作用。 uiwait函数&#xff1a;阻塞m文件的执行&#xff0c;直到uiresume解除这种阻塞&#xff1b; uiresume函数&#x…

Java从string数组创建临时文件

//从string数组创建临时文件 private static File createSampleFile(String[] strs) throws IOException {File file File.createTempFile("aws-java-sdk-", ".txt");file.deleteOnExit();Writer writer new OutputStreamWriter(new FileOutputStream(fi…

关刀机器人_小学机器人活动总结

页眉内容开展青少年机器人创新实践活动情况个人总结为进一步推动我校机器人活动的普及与发展&#xff0c;培养学生对科技制作的兴趣&#xff0c;促进学生整体素质的提高&#xff0c;同时培养学生动手实践的能力&#xff0c;我校于2016年3月开展了机器人创新实践活动。在学校领导…

[html] iframe可以使用父页面中的资源吗(如:css、js等)?

[html] iframe可以使用父页面中的资源吗&#xff08;如&#xff1a;css、js等&#xff09;&#xff1f; iframe 属于一个单独的文档不能直接使用父页面的资源&#xff0c;css的层叠不会影响iframeiframe如果和父页面同域则可以在iframe中使用parent对象来使用父页的js对象个人简…

error LNK2001:unresolved external symbol __imp__@ 解决方法

我在程序Lan中使用了winsock函数&#xff0c;出现如下错误&#xff1a;Lan.obj&#xff1a;error LNK2001: unresolved external symbol __imp__listen8 Lan.obj : error LNK2001: unresolved external symbol __imp__bind12 Lan.obj : error LN…

[html] 怎么去除img之间存在的间隔缝隙?

[html] 怎么去除img之间存在的间隔缝隙&#xff1f; 1.修改display:block/flex&#xff0c; 2.父级设置font-size:0个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题…

zabbix基础之环境搭建

zabbix入门 环境部署 安装mysql #安装MySQL&#xff0c;官方的MySQL的repo源地址&#xff1a;http://repo.mysql.com/ #选择指定的MySQL版本&#xff0c;我这里选mysql5.7的版本,复制对应版本的链接地址。 wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch…

wordpress函数手册_WordPress主题开发手册

functions.php文件是您为 WordPress 主题添加功能的唯一位置。您可以在其中把自定义功能挂载到 WordPress 的核心功能上&#xff0c;使您的主题更加模块化、更具扩展性、功能更加丰富。什么是functions.php&#xff1f;functions.php文件的行为类似于 WordPress 插件&#xff0…

python中_python中的一些用法总结

用python写了一个测试Demo&#xff0c;其中涉及到一些常用的用法&#xff0c;现在记录在这里&#xff0c;方便后续查阅&#xff1a; 1 python中全局变量的使用&#xff1a; 全局变量在所有程序的外部进行定义&#xff0c;再函数内部使用的时候分为两种情况&#xff0c;一种是只…

Android 通讯录学习笔记之——目标:调用系统通讯录的编辑功能

资料来源&#xff1a;http://www.eoeandroid.com/thread-37271-1-1.html 代码功能&#xff1a;调用系统自带的编辑联系人功能 代码片段 // 如下用法在ANADOIR 2.3.6上面会报 “Caused by: android.database.sqlite.SQLiteException: no such column: raw_contact_id:” 异常  …

[html] table中给td设置宽度无效怎么解决?

[html] table中给td设置宽度无效怎么解决&#xff1f; 默认是列宽度由单元格内容设定 table 添加css tableLayout :fixed;个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端…

使用 vue-qrcode 生成二维码

直接安装xkeshi/vue-qrcode包 "dependencies": {"xkeshi/vue-qrcode": "^1.0.0"}<template id"demo"><div class"container"><qrcode :value"qrcodeUrl" :options"{ size: 100 }">&l…

台达变频器485通讯接线图_台达变频器RS485通讯设置

变频器配置一、00(第79页)功能码 名称 设定范围00-02 参数重置(基底频率为50HZ) 900-03 开机显示画面选择 100-20 频率指令来源设定 100-21 运转指令来源设定 2二、09(第101页…

新版个人所得税计算python_最新个税计算 / 个税计算器 小程序 wepy 开发

根据最新税改后计算个人所得税的计算器。 如有其它疑惑&#xff0c;也欢迎提出任何修改意见。可以在主题下留言或者在小程序中点击联系在线客服或者加入qq群&#xff1a;869113926 1、扫一扫2、效果图这次开发遇到几个问题因此记录下来。 (1)、在开发微信小程序组件框架时&…

[html] 如何在页面上显示Emoji表情?

[html] 如何在页面上显示Emoji表情&#xff1f; 如果客户端发送了一个带条件的GET 请求且该请求已被允许&#xff0c;而文档的内容&#xff08;自上次访问以来或者根据请求的条件&#xff09;并没有改变&#xff0c;则服务器应当返回这个304状态码。简单的表达就是&#xff1a…

Google Analytics 搜索引擎来源

转载于:https://www.cnblogs.com/dabaopku/archive/2012/05/08/2490164.html

实现点击按钮复制文本(Clipboard包)

操作如下&#xff1a; npm install clipboard --save import Clipboard from clipboard; Vue.use(VueClipboard) <template id"demo"><div class"container"><!-- 文本内容 --><input type"text" v-model"message&quo…

明机器人孔尧是哪里人_明我创始人孔尧:未来办公,始于聚点

2018 全球人工智能与机器人峰会(CCF-GAIR)于日前在深圳召开&#xff0c;这是国内人工智能和机器人学术界、工业界及投资界三大领域的顶级交流盛会&#xff0c;旨在打造国内人工智能领域最具实力的跨界交流合作平台。本次盛会共吸引超过2500名业界人士参与&#xff0c;包括了行业…