[Shiro] - shiro之SSM中的使用】的更多相关文章

Shiro Shiro Web Support 主要参考: http://shiro.apache.org/web.html 还有涛哥的 作为资源控制访问的事情,主要使用在网络后台方面,所以了解了本地的测试之后,了解web方面的还是比较的很有必要的,本文主要讲解如何简单的定义一个web项目,然后简单的了解实现的方式是怎么样的! 配置 shiro.ini 放置在 resource目录下面至于这些配置的到底是什么意思,这个不是我们关注的重点,随便看看就知道了,一会慢慢的深入了就知道了这个到底是啥子意…
在学习shiro的途中,在github发现了一个开源项目,所需的控件刚好是自己要学习的方向. 虽然还要学习完ssm的shiro与springboot的shiro,以及接下来的种种控件和类库,但学习这个开源项目刻不容缓 [SSM的shiro使用] SSM简单的说,就是SpringMVC负责web部分,mybatis负责数据库部分,否则没有mybatis要写的jdbc是很费时间的. 所以基于ssm的shiro项目,就是Servlet部分修改为SpringMVC,数据库部分,修改为Mybatis,然后…
前言: 上一篇提到了, 将 sessionId 放到请求头中去, 那rememberMe是否也可以放到请求头中去呢. 其实不管是sessionId还是rememberMe, shiro都会默认往cookie里面放, 那么rememberMe肯定也是可以放到请求头中去的. 有兴趣的朋友可以去看看 org.apache.shiro.web.mgt.CookieRememberMeManager 的实现. 废话不多说了, 直接上实现吧. 一. 实现 import org.apache.shiro.co…
前言: 在前后端项目中, 前端有可能会要求, 后台返回一个 sessionId 给他, 然后他在请求后台接口时, 把这个sessionId 带给后台, 后台拿到这个sessionId , 就能识别, 是那个用户. 在shiro中, 会返回一个 JSESSIONID , 其实就是sessionId . 如果不想把sessionId 放在参数中, 或者贴在链接后面, 暴露给用户, 那么我们还能选择把 sessionId 放在请求头中, 这样比较隐秘一些. 不会那么明显. 一.  DefaultWeb…
下载了运行项目后,访问路径:http://localhost/shiro/login 这篇应该在进阶后面的. shiro中的重中之重,一定要看. 基于springboot+thymeleaf+shiro做了一个demo, 在thymeleaf模板中使用shiro标签需要添加额外一个依赖: <!--shiro&thymeleaf--> <dependency> <groupId>com.github.theborakompanioni</groupId>…
先来看问题    纠结了几个小时终于找到了问题所在,因为shiro的realm属于Filter,简单说就是初始化realm时,spring还未加载相关业务Bean,那么解决办法就是将springmvc的配置文件加载提前. 解决办法 打开web.xml文件   OK,问题解决! 解决方式2(不建议) public TenantServiceTypeTask(ServletContextEvent event) { super(); ServletContext sc=event.getServle…
之前在测试的Web工程下,我们在applicationContext.xml中配置了shiroFilter资源拦截器信息: <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <property name="securityManager" ref="securityManager"/> &…
Shiro 是当下常见的安全框架,主要用于用户验证和授权操作. RBAC 是当下权限系统的设计基础,同时有两种解释:一: Role-Based Access Control,基于角色的访问控制即,你要能够删除产品,那么当前用户就必须拥有产品经理这个角色二:Resource-Based Access Control,基于资源的访问控制即,你要能够删除产品,那么当前用户就必须拥有删除产品这样的权限 基于 RBAC概念, 就会存在3 张基础表: 用户,角色,权限, 以及 2 张中间表来建立 用户与角色…
下面我通过一个web的maven项目来讲解如何将shiro整合ssm框架,具体结构如下图 一.引入依赖的jar包 <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distri…
Shiro会话管理:https://shiro.apache.org/session-management.html#SessionManagement-CustomSessionIDs Redis主页:https://redis.io/ 关键的类为: SimpleSessionSessionDAO剩下的看Shiro会话管理就明白了::说下自己的理解:shiro对把session的创建.销毁.获取等操作可以由SessionDAO接口的实现类进行操作,相当于一个中间者,委托子类去各种数据源获取,我…
配置拦截.过滤.验证请求 <!-- shiro --> <!-- 項目自定义的Realm --> <bean id="ShiroRealm" class="com.cms.shiro.ShiroRealm" ></bean> <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityMan…
06:36:34,405 ERROR http-8084-2 dispatcher.Dispatcher:38 - Exception occurred during processing request: $Proxy15.user_() java.lang.NoSuchMethodException: $Proxy*.user_() at java.lang.Class.getMethod(Class.java:1605) at org.apache.struts2.interceptor.…
使用Maven整合一个SSM,当然要配有Maven环境,Maven的环境配置自行百度,挺好配的 创建一个Maven项目以后,目录结构如图所示: 然后就是各部分配置: 首先pom导入依赖jar包: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http…
上一个知识点ssm, 哪里需要权限,哪里写注解@RequirePermission就行. 但是,真正项目开发的时候, 这种方式就很有局限性了, 当权限配置关系发生变化, 每次都要修改代码, 编译打包重启系统, 这肯定是不能够被接受的. 最好的方式,是通过动态配置,哪个给不同的用户配置不同的角色,权限,修改之后立马生效这种方式. 为了实现这个效果, 就需要基于URL配置的方式来做了. 接下来要做基于URL配置权限的讲解. 但是基于URL配置权限需要自己能够进行权限信息的灵活配置, 那么就需要对权限…
<!--扫描service的impl--><context:component-scan base-package="com.aaa.ssm.service.impl"></context:component-scan><!--加载jdbc.properties--><context:property-placeholder location="classpath:jdbc.properties"><…
<!--扫描控制器包--><context:component-scan base-package="<!--控制器包所在路径-->"></context:component-scan><!--指定以注解的方式配置spring mvc--> <!--相当于声明了 处理器映射器 RequestMappingHandlerMapping 怎么去找控制器的方式 处理器适配器 RequestMappingHandlerAdapt…
1.1  简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了.对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了. 本教程只介绍基本的Shiro使用,不会过多分析源码等,重在使用. Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaS…
0.写在前面的话 好久没写博客了,诶,好多时候偷懒直接就抓网上的资料丢笔记里了,也就没有自己提炼,偷懒偷懒.然后最近参加了一个网络课程,要交作业的那种,为了能方便看下其他同学的作业,就写了个爬虫把作业爬下来,进而想到如果以后还有类似这种情况,我需要一个非常轻量化的架子,但是权限依然是必须要用到的,否则写个接口人人都可以调用那还得了,但是我仅仅需要一个人或者一两个人的权限配置就可以了,所以像之前我写过一个基于RBAC的架子甚至都还是有点嫌重(而且那个架子还没有前端页面,哈,真是懒),所以想到了用s…
转载:[一]shiro入门 之 Shiro简介 一.shiro介绍: 官方网址:http://shiro.apache.org/introduction.html,shiro的功能包括:认证.授权.加密.会话管理.与Web集成.缓存等.其基本功能点如下图所 示: Authentication:身份认证/登录,验证用户是不是拥有相应的身份: Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限:即判断用 户是否能做事情,常见的如:验证某个用户是否拥有某个角色.或者细粒…
昨天对springboot中的mybatis逆向工程与分页应用进行了整理,今天对ssm项目中的逆向工程与分页进行整理. 项目运行环境:eclipse+jdk1.8+maven+tomcat 一.搭建ssm项目 首先新建maven project,项目Archetype选择:maven-archetype-webapp,项目新建完毕,会出现生成的index.jsp报错. 造成原因:项目没有依赖javax.servlet相关类包,这些类包在tomcat类库中 有两种解决方案: 方法一:添加依赖 <d…
最近因为要测试一个功能,需要用最短的时间来启动服务,开启测试程序,但平常所用的框架中已经集成了各种三方的东西,想着那就再重新搭建一个最简单的ssm框架吧. 搭建可参考:简单ssm最新搭建 搭建过程并不麻烦,整合springmvc测试成功,接口正常调用,最后整合mybatis后,在service中注入调用时出现了问题,启动服务时报错如下: No qualifying bean of type 'com.test.mapper.TpmTestLogMapper' available: expecte…
文章目录 前言 改进方式来替换原始的使用方式 后记 好久没有写博客了,11月底来到公司实习,上个月写个小demo,趁此回顾下SSM,今天将最近的积累记录下: 前言 在学习 mybatis 的时候,都知道要将 mapper.xml 文件和 mapper 接口放在一个包下面,便于直接扫描接口,创建代理对象: 就像图中这样: 但是在 SSM 整合开发,整个项目使用 maven 管理的过程中,总是会遇到莫名其妙的 BUG :比如我们使用 mapper.xml 中的某个方法的时候,总是提示找不到该方法,有…
项目在本地软件和在服务器上的项目路径如果写死,有可能会出现项目在本机上可以访问,架设在服务器上后就不能访问 这儿介绍在ssm框架中使用 @WebServlet(urlPatterns = {},loadOnStartup = 2) public class WebPathInitServlet extends HttpServlet { @Override public void init(ServletConfig config) throws ServletException { confi…
在SSM向oracle数据库中插入语句时,报错如下: ### Error updating database.  Cause: java.sql.SQLException: 不支持的特性 ### SQL: insert into standard(id,zhname,version,keys,release_date,impl_date,ackage_path)   values(seq_id.nextval,?,?,?,?,?,?) ### Cause: java.sql.SQLExcepti…
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupI…
服务器415错误 ssm框架的controller jsp页面 问题:页面出现415错误 原因:请求和响应类型不一致 分析: 先排除以下基本的环境配置 1.URL路径对应好,视图解析器配置好,controller的@RequestMapping的路径要和视图解析器适配 2.传递的参数一定要一一对应,实体类有,表单数据没有是可以的,反之无法封装 3.jsp页面不要有error的错误,特别是少了标点符号!!! 出现了415错误一般是请求和响应的contentType类型不一致,可以F12看到浏览器的…
如果是Thymeleaf集成Shiro的话, 如果使用Shiro在页面上权限字符串需使用thymeleaf的表达式的话, 如果权限字符串在实例级别的话, 可以使用这种方式进行权限字符串的动态实例控制 <span th:shiro:hasPermission="|user:create:${XXX}|">具有权限</span>…
目前比较流行的验证做法:前端jquery-form-validate + 后端hibernate-validate 在pom中添加相关jar: <!-- use hibernate-validator to validate entity before enter controller --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator…
Ehcache是一个开源Java分布式缓存.可以配合mybatis来使用   首先,在资源文件夹中新建ehcache.xml   内容如下: <?xml version="1.0" encoding="UTF-8"?> <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../bin/…
前言:做这个一定要有耐心,因为报表本就是数据杂糅到规整的过程,这篇心得会细讲每一步操作,如果只想着一眼到位,建议close tab 在公司中遇到项目,大概是一个这样的需求,有一个列表和一个标题,需要把这些数据一条条的遍历在报表中,然后加个标题,这些都是来自项目里的变量 那么json格式就应该是这样的,下面我会慢慢说,以例子说明,都会标注 解释:为什么是这样,第一,报表中有固定单一属性区域,和自动遍历区域,如下图,那么json的子分类肯定分为两类 { "dataa": [ { "…