spring boot2.1.4+spring security+mybatis+jsp+Oracle整合
进行spring cloud的学习,要安装spring boot 的spring -tool-suite插件,我在第一次安装时,由于操作不当,两天才完全安装好,真的是要命了,感觉自己蠢死!下面就自己踩过坑以及一些小窍门和大家分享一下。
安装方法:(我使用的是eclipse ,所以就拿eclipse举例了)
提示:安装时,网速不好的话过程会比较漫长,所以最好是选择一个网络好一点的地方进行安装。
方法1、可以自己在eclipse目录:help-->Eclipse Marketplace 下的Search中搜索spring-tool-suite,如下图:
点击右下角Installed进行安装。
方法2、在spring官网上下载相关的插件,然后导入到eclipse中,以下是下载步骤:
2.1、查看自己eclipse版本是多少,help-->About Eclipse
2.2、现在该从官网上下载插件包了,但是进到官网上看到的都是类似于这种:
http://download.springsource.com/release/STS/3.8.1.RELEASE/dist/e4.6/spring-tool-suite-3.8.1.RELEASE-e4.6-win32-x86_64.zip格式的,切记不要下载,我们安装spring boot 插件需要下载 以 updatesite.zip结尾的压缩文件。
下面给出eclipse3.7.2插件包的路径:
官网路径:http://download.springsource.com/release/STS/2.9.2/dist/e3.7/springsource-tool-suite-2.9.2.RELEASE-e3.7.2-win32-x86_64.zip
所需插件路径: http://download.springsource.com/release/TOOLS/update/2.9.2.RELEASE/e3.7/springsource-tool-suite-2.9.2.RELEASE-e3.7.2-updatesite.zip
我们下载eclipse3.7.2版本spring boot 插件包复制上面【所需插件路径】浏览器回车然后下载即可。
但是,我的eclipse版本是4.5.2怎么办?我需要4.5.2版本的插件包,怎么弄?
点击官网,找到eclipse版本(我的是 4.5.2)对应的文件,如下图,
点击zip,然后复制出官网路径如下
http://download.springsource.com/release/STS/3.7.3.RELEASE/dist/e4.5/spring-tool-suite-3.7.3.RELEASE-e4.5.2-win32-x86_64.zip
对照着上面3.7.2版本路径修改一下复制出的4.5.2官网路径中标红地方即可。修改规则:
(1)、STS --> TOOLS/update
(2)、dist 删掉
(3)、spring-tool-suite --> springsource-tool-suite
(4)、win32-x86_64.zip --> updatesite.zip
修改完即可得到4.5.2版本的spring boot 插件包路径(如下):
http://download.springsource.com/release/TOOLS/update/3.7.3.RELEASE/e4.5/springsource-tool-suite-3.7.3.RELEASE-e4.5.2-updatesite.zip
复制路径到浏览器回车即可下载。
那么如果你的eclipse是其他版本的话,我就不一一叙述了啊,自己对照上面步骤拼出路径进行下载即可。
各个历史版本下载地址:
https://spring.io/tools3/sts/legacy
2.3、现在该讲怎么安装了啊,插件包下载到本地之后,进入到 Eclipse --> Help--> Install new Sofware下,如下图:
点击Add,添加本地下载好的 updatesite.zip结尾的压缩文件,
然后点击next ,
next ,
选择同意,然后finish
提示会重启eclipse,点击yes重启即可
重启之后,我们进入到 Eclipse-->Windows --> Preferences下,会看到有个spring模块,此时就代表,spring boot 插件安装成功。
根据自己需求选择配置,我这里是选择的war包,jdk8,springboot官方推荐是jdk8,点自己next
我这里选择的是web,mybaits,security。我这里用的是jsp所以没有选择Thymeleaf.官方推荐使用的是Thymeleaf,点击完成就创建成功了。
这三个文件可以删除
创建完成的项目是没有这些文件夹的,需要自己手动创建。
官方默认静态资源是放在static,下面的。所有的页面是放在templates。所以为了让项目能够访问须做如下配置
配置springmvc让项目访问。Mybatis配置是指定你的mapper.xml文件路径。Jsp配置的是热部署,不配置的话每次修改jsp页面都需要重启服务。为了能够使用jsp需加如下配置
到此一个没有权限控制的springboot配置完成。直接写前端页面调用controller,service,mapper,数据库就行了。
权限配置看下个文档
先创建sysuser(用户)、sysrole(角色)、syspermission(权限)。其实我的设计思路是不需要权限这张表的。我把角色就当成了权限。
实现security的UserDetailsService 重写loadUserByUsername方法。在1出将用户的角色塞进authorities我这是将角色当作权限塞进的。所以syspermission对我的影响不大。实际可以根据你的设计思路改. 在2的地方要注意,这里的user用的是security的user。所以我的sysuser中没有继承security的user。至于你想怎么搞,那就看你心情了。开心就好!
最后配配置SecurityConfig类(类名随意。开心就好),这个类要继承WebSecurityConfigurerAdapter。这个给里面会有很多坑。就不在这写了。到此配置完成
当我们哪个方法需要控制的是后只要加上@PreAuthorize("hasAuthority('ADMIN')")这个标签就可以了。admin是访问这个方法的权限(我这里是角色)