使用@Configuration配置shiro无状态登录时出现的问题,在subject.login之后当前线程重新绑定了一个假定subject,isAuthenticated. 这里自定义的访问拦截器的创建需要放在shiroFilter之后,如下: /** * Shiro 的 Web 过滤器链 */ @Bean("shiroFilter") public ShiroFilterFactoryBean shiroFilter() { ShiroFilterFactoryBean filt…
一.针对shiro框架authc拦截器认证成功后跳转到根目录,而非指定路径问题 首先,我们先来了解一下authc登录拦截器工作原理 authc拦截器有2个作用: 1>登录认证     请求进来时,拦截并判断当前用户是否登录了,如果已经登录了放行, 如果没有登录,跳转到authc.loginUrl属性配置的路径,注意:默认是/login.jsp 2>执行登录认证     请求进来时,如果请求的路径为authc.loginUrl属性配置的路径(没配置,默认是/login.jsp)时,如果当前用户没…
Spring与Shiro整合 导入jar包 shiro-web的jar. shiro-spring的jar shiro-code的jar 快速入门 shiro也通过filter进行拦截.filter拦截后将操作权交给spring中配置的filterChain(过虑链儿) 在web.xml中配置filter <!-- shiro的filter --> <!-- shiro过虑器,DelegatingFilterProxy通过代理模式将spring容器中的bean和filter关联起来 --…
shiro实现登录安全认证 shiro的优势,不需要再代码里面判断是否登录,是否有执行的权限,实现了从前端页面到后台代码的权限的控制非常的灵活方便 传统的登录认证方式是,从前端页面获取到用户输入的账号和密码之后,直接去数据库查询账号和密码是否匹配和存在,如果匹配和存在就登录成功,没有就提示错误 而shiro的认证方式则是,从前端页面获取到用户输入的账号和密码之后,传入给一个UsernamePasswordToken对象也就是令牌, 然后再把令牌传给subject,subject会调用自定义的 r…
Shiro+Mybatis实现登录认证.授权功能 一.实现登录认证功能 1.流程: 跟据用户提交表单的账号,经Mybatis框架在数据库中查出User对象: 如果User为空,则会抛出异常:UnknownAccountException,没有此账户名. 如果不为空,则比对表单中的密码和User对象的密码是否相同(shiro框架自动完成,有加密),密码不相同则会抛出异常:IncorrectCredentialsException,密码错误:密码相同,则登陆成功. 2.详细流程: 1)代码结构如图:…
* 项目环境搭建 * 配置ShiroConfig,用于shiro的基本配置和注入自定义规则 * 实现自定义的realm,继承AuthorizingRealm * 编写测试controller和页面 基本环境准备 导入依赖坐标 maven管理.shiro1.4.0 和spring-shiro1.4.0依赖 导入数据源,配置thymeleaf,redis,等等 shiro配置 配置shiroConfig 编写自定义的realm 实现具体的doGetAuthorizationInfo(授权)方法和do…
第一种首先基于角色的权限控制 1.由于不断的创建SecurityFactory工程等步骤重复多次,所以应该将这些步骤封装成一个工具类 还是首先看一下目录结构 主要用到文件 首先贴一下工具类的方法 package com.zuoyan.utils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.Us…
Shiro系列文章: [Shiro]Apache Shiro架构之身份认证(Authentication) [Shiro]Apache Shiro架构之集成web [Shiro]Apache Shiro架构之自定义realm [Shiro]Apache Shiro架构之实际运用(整合到Spring中) 上一篇博文总结了一下Shiro中的身份认证,本文主要来总结一下Shiro中的权限认证(Authorization)功能,即授权.如下:   本文参考自Apache Shiro的官方文档:http:…
Shiro系列文章: [Shiro]Apache Shiro架构之权限认证(Authorization) [Shiro]Apache Shiro架构之集成web [Shiro]Apache Shiro架构之自定义realm [Shiro]Apache Shiro架构之实际运用(整合到Spring中) Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理功能,可为任何应用提供安全保障.本文主要介绍一下Shiro中的身份认证功能,如下:   本文参考自Apach…
项目集成shiro的时候,有写某个自定义类然后继承自AuthorizingRealm 并且重写实现了他的2个方法: 1.其中一个:认证回调 验证账户密码的 doGetAuthenticationInfo 2.另外一个:授权查询 验证权限的 doGetAuthorizationInfo ok,上面没什么用,只是讲述一下,正真用到的是下面的代码 /** * 认证密码匹配调用方法 * @param authcToken * @param info * @throws AuthenticationExc…
作业需求: 1.输入用户名密码 2.认证成功后显示欢迎信息 3.输错三次后锁定实现思路: 1.判断用户是否在黑名单,如果在黑名单提示账号锁定. 2.判断用户是否存在,如果不存在提示账号不存在. 3.判断账号密码是否正确,如果正确登录进去.如果不正确有三次输入密码机会.三次全部输错,账号锁定. 新建两个文件 account.txt和account_lock.txt ,在account中输入用户名密码 aaa 123 1 # Author:oliver import sys,os count = 0…
shiro的授权与认证 package com.cy.pj.common.aspect;import java.lang.reflect.Method;import java.util.Arrays;import java.util.Date; import org.apache.shiro.SecurityUtils;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.Signature;import org.…
项目中,在做登录验证时,用到了cookie,同一账户登陆,可以.切换其他账号时,就在也登录不上了,用原来的也不行.检查Request.IsAuthenticated一直false,而且Request.Cookie中没有设置的Cookie,但是通过fiddler检查post,get数据,cookie都正常. 通过修改代码发现,当使用自定义的账户对象(new一个,随便设置值)没有问题,而使用EF查找数据库,生成的账户对象则不行.通过对比发现,EF查找数据库得到的账户对象除了基本的信息外,还附带了其他…
认证,身份验证,验证用户是否合法 在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身份: principals:用户的身份信息,是subject的标识属性,能够唯一标识subject,如电话号码,电子邮箱,身份证号等. credentials:凭证:密码,是只被subject知道的秘密值.如密码/数字证书等. 最常见的principals和credentials组合就是用户名/密码.shiro中通常使用UsernamePa…
首先是session问题 传统session认证 http协议是一种无状态协议,即浏览器发送请求到服务器,服务器是不知道这个请求是哪个用户发来的.为了让服务器知道请求是哪个用户发来的,需要让用户提供用户名和密码来进行认证.当浏览器第一次访问服务器(假设是登录接口),服务器验证用户名和密码之后,服务器会生成一个sessionid(只有第一次会生成,其它会使用同一个sessionid),并将该session和用户信息关联起来,然后将sessionid返回给浏览器,浏览器收到sessionid保存到C…
1.Shiro是Apache下的一个开源项目,我们称之为Apache Shiro.它是一个很易用与Java项目的的安全框架,提供了认证.授权.加密.会话管理,与spring Security 一样都是做一个权限的安全框架,但是与Spring Security 相比,在于 Shiro 使用了比较简单易懂易于使用的授权方式.shiro属于轻量级框架,相对于security简单的多,也没有security那么复杂.所以我这里也是简单介绍一下shiro的使用. 2.非常简单:其基本功能点如下图所示: A…
shiro进行登录认证和权限管理的实现.其中需求涉及使用两个角色分别是:门店,公司.现在要两者实现分开登录.即需要两个Realm——MyShiroRealmSHOP和MyShiroRealmCOMPANY,分别处理门店,公司的验证功能. 但是正常情况下,当定义了多个Realm,无论是门店登录还是公司登录,都会由这两个Realm共同处理.这是因为,当配置了多个Realm时,我们通常使用的认证器是shiro自带的org.apache.shiro.authc.pam.ModularRealmAuthe…
今天从书上和CSDN上找了几个关于android调用webservice的样例,这些样例从代码来看.没不论什么错误,可是就是执行不成功.分析了android调用web接口的写法,发现这些样例在调用的时候没单独开一个线程来执行的问题.以下把CSDN上下载的样例" Android查询电话号码"的主要修改代码贴出来,希望对学习android的刚開始学习的人有帮助. FutureTask<String> futureTask = new FutureTask<String&g…
最近使用c#调用另外一个同事写的java webservice耽误了很多时间,网上资料不太完整,走了很多弯路,希望对大家有帮助. 基本思路是1.拼装soap使用http post ,主要将验证身份信息放入header中,以下code供参考:8-15行内用户.密码,其他soap信息需要根据自己的service修改, 可以使用soapui获取到body以及xmlns信息  1 public class InvokeServiceWithSoap  2     {  3         public …
java上建立接口定义 package com.dtk; public class Rec { public native String RecImage(String src); public static void main(String[] args) { } } 生成头文件: cmd进入java类生成的class所在目录,一般是bin, 使用命令格式 [javah 包名.文件名], eg: javah com.dtk.Rec, 生成了com_dtk_Rec.h /* DO NOT EDI…
写在前面 在前面的三篇文章,已经介绍了restful风格wcf,如何实现增删改查以及文件的上传下载操作.本篇文章将介绍一下,调用restful的权限认证的内容.在调用的接口,为了安全,总会需要对请求进行权限认证的.以防一些非法的操作. 系列文章 Restful风格wcf调用 Restful风格wcf调用2——增删改查 Restful风格wcf调用3——Stream 一个例子 在REST WCF中,我们可以利用 HttpHeader 来完成这一目标. 首先我们添加一个校验身份的一个方法. ///…
https://www.cnblogs.com/cmyxn/p/5825099.html…
转自http://blog.sina.com.cn/s/blog_963fb3af01013rcs.html Connection con = getConn(); String sql2 = "insert into serial_history h "       + "(serial_no, tran_date, occur_bala, cust_no, status, "       + " area_code, tran_type, return…
http://blog.csdn.net/facekbook/article/details/54906635 shiro认证 本文介绍shiro的认证功能 认证流程 入门程序(用户登录和退出) 自定义Realm 散列算法 认证流程 开始构造SecurityManager环境subject.login();提交认证securityManager.login()执行认证Authenticator执行认证Realm根据身份获取验证信息结束 入门程序(用户登录和退出) 创建Java项目 jdk版本:1…
     在视频教程中讲请求认证成功后跳转页面的问题是一笔带过的,可是我认为有必要单独写一篇相应的文章进行叙述.      我用了SSH来整合Shiro,在开发后验证的过程中,每次登陆后Shiro都会跳转到一个不知名js中.可是重点是我上一次訪问的地址是: provider=evernote_int&guid=de2bbd77-df13-4d2c-abf0-f4d5801f2f6d&notebook=%E9%A9%AC%E5%85%8B%E9%A3%9E%E8%B1%A1" st…
1.POM文件中加入Shiro和fastJSON依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>com.alibaba</grou…
package com.aaa.lee.shiro; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.*; import org.apache.shiro.config.IniSecurityManagerFactory; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.session.Session; import…
零.前言 本文基于<基于SpringBoot搭建应用开发框架(一)——基础架构>,通过该文,熟悉了SpringBoot的用法,完成了应用框架底层的搭建. 在开始本文之前,底层这块已经有了很大的调整,主要是SpringBoot由之前的 1.5.9.RELEASE 升级至 2.1.0.RELEASE 版本,其它依赖的三方包基本也都升级到目前最新版了. 其次是整体架构上也做了调整: sunny-parent:sunny 项目的顶级父类,sunny-parent 又继承自 spring-boot-st…
这里只是测试登录认证,没有web模块,没有连接数据库,用户密码放在shiro.ini配置中,密码没有加密处理,简单入门. 基于maven 先看目录结构 测试结果 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/200…
原文链接: http://rsj217.diandian.com/post/2013-04-17/40050093587 本意是在注销账号前保留之前的一些数据.决定用python 爬取收藏.可是未登录无法爬取.想要登录有两种办法,伪造浏览器登录.第二就是注册新浪开发者账号,通过Oauth认证调用其API. Oauth 的原理搞了一天才明白.很多网站都提供多语言的Oauth.而 1.0 和 2.0 的最大差别就是多了一个 callback 回调页面.关于这方面的说明很少,搞得我一头雾水折腾了好久.…