shiro

Apache Shiro系列教程之二:十分钟上手Shiro

a 夏天 提交于 2020-01-14 08:22:02
在本教程中,我们会写一个简单的、仅仅输出一些内容命令行程序,从而对Shiro有一个大体的感觉。 一、准备工作 本教程需要Java1.5+,并且我们用Maven生成项目,当然Maven不是必须的,你也可以通过导入Shiro jar包的方式、或使用Ant、Ivy,喜欢哪种就用哪种。 开始之前,确定你的Maven版本为2.2.1+(如果你用的是Maven的话),用mvn --version确定Maven的版本。 现在,我们将正式开始。首先新建一个文件夹,比如说shiro-tutorial,然后将下面的Maven pom.xml文件放到该文件夹下。 pom.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 5 6 <modelVersion>4.0.0</modelVersion> 7 <groupId>org.apache.shiro

how to restrict action in grails shiro security

戏子无情 提交于 2020-01-14 03:12:29
问题 .please guide me that i have 2 methods in my Controller one is login and second is logout. and 1 role 'user' defined in my DB and i have a user with that role. now what i want to do is that person can login but could not access the logout button. how can i add permission/restrictions that would allow that user not to Logout. 回答1: Take a look at your other question (http://stackoverflow.com/questions/5815401/how-to-implement-shiro-security-of-grails-in-my-project) and use roleUser

shiro在web.xml里配置的shiroFilter

╄→гoц情女王★ 提交于 2020-01-14 02:20:45
文章目录 在ssm整合shiro的时候配置的shiroFilter 如果不一致: 配置参数 总结所以需要将filter-name的名称跟spring配置文件里的ShiroFilterFactoryBean的bean名称保持一致 ShiroFilterFactoryBean返回的是filter?是SpringShiroFilter实现了filter 在ssm整合shiro的时候配置的shiroFilter 一般web.xml配置文件里面写: < ! -- shiro过滤器 -- > < filter > < filter - name > shiroFilter < / filter - name > < filter - class > org . springframework . web . filter . DelegatingFilterProxy < / filter - class > < init - param > < param - name > targetFilterLifecycle < / param - name > < param - value > true < / param - value > < / init - param > < / filter > < filter - mapping > < filter - name >

Apache Shiro 学习记录4

偶尔善良 提交于 2020-01-14 00:56:19
  今天看了 教程的第三章 ...是关于 授权 的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了....而这些地方又是蛮难的..比如3.5节Authorizer、PermissionResolver及RolePermissionResolver...可能作者觉得讲清楚要花太多的篇幅涉及太多的类吧.....但是我看起来就很不爽0.0....既然提到了就想弄明白.....不然太纠结了....所以就有了这篇学习记录... 记录我对Shiro授权的理解 Subject 我是从subject.isPermittedAll("system:view")这里开始研究的... 和我的上一篇学习记录写到的一样Subject只是一个接口,它的实现类是DelegatingSubject类. 1 public boolean isPermittedAll(String... permissions) { 2 return hasPrincipals() && securityManager.isPermittedAll(getPrincipals(), permissions); 3 } 授权和认证太像啦,这里subject其实也是委托securityManager来具体处理的(第2行).

Apache Shiro 学习记录1

泪湿孤枕 提交于 2020-01-13 09:00:58
  最近几天在学习Apache Shiro......看了一些大神们的教程.....感觉收获不少.....但是毕竟教程也只是指引一下方向....即使是精品教程,仍然有很多东西都没有说明....所以自己也稍微研究了一下...记录了一下我的研究发现.... 教程点这里   这篇教程的最后提到了strategy.....然后给出了4个方法.....但是并没有怎么详细说明.....我想说说我的理解.....(我的理解可能会有很多错误)   我想先说说登陆验证的大致流程....大致...... Subject 从用户那里收集完用户名密码以后我们会调用subject.login(token)这个方法去登陆.....Subject是一个接口,没有定义login的具体实现.....Shiro里只有一个类实现了这个接口,是DelegatingSubject这个类.这个类里的方法login方法如下: 1 public void login(AuthenticationToken token) throws AuthenticationException { 2 clearRunAsIdentitiesInternal(); 3 Subject subject = securityManager.login(this, token); 4 5 PrincipalCollection principals

Shiro 整合 Springboo2.2

↘锁芯ラ 提交于 2020-01-13 08:12:40
Shiro 就不多介绍了,原理性的东西非常多。总结一下有一些要注意的点,例如 Authentication 和 Authorization 这两个几乎长的一毛一样的单词对新手来说实在太不友好了。前者是登录时用的 身份验证 (即用户密码),后者是 角色权限 相关的验证 SpringBoot 网上很多教程是Spring的,一大堆 Bean 配置让人云里雾里的。 SpringBoot 出了 starter,我们可以用来省去一些配置。 注意 pom 引入的是上面那个带 web 的,不是下面那个,不然Web环境中用不了。算是个小小的坑 我们先来看一下,传统的Spring需要我们做哪些配置,即注入了哪些 Bean。 用来设置如何管理 session 的 seesionManger Shiro最核心的类,是所有相关类的门面, securityManager 拦截规则,设置哪些 url 需要进行 登录或权限 检查的 shiroFilter 下面两个是和Spring 相关的类,没有我们需要自定义的地方。 其实在 Spring Boot 中 : 上面几个Bean都有对应的自动注入,从源代码中把他们扒出来,看看具体自动配置了什么。 在 ShiroWebAutoConfiguration 类中,有相关的自动配置。 例如这两个,具体的配置在父类。注意 @ConditionalOnMissingBean 注解

SpringMVC整合Shiro

ぃ、小莉子 提交于 2020-01-13 07:23:29
声明:本文转载自https://jadyer.cn/2013/09/30/springmvc-shiro/玄玉的个人博客。用于个人学习参考。 示例代码 首先是 web.xml < ? xml version = "1.0" encoding = "UTF-8" ? > < web - app version = "2.5" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" > < context - param > < param - name > contextConfigLocation < / param - name > < param - value > classpath : applicationContext . xml < / param - value > < / context - param > < listener > < listener - class > org .

shiro

假如想象 提交于 2020-01-12 09:10:14
1.shiro获取当前登陆用户 SysUserEntity user = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); 来源: CSDN 作者: hqlai1234 链接: https://blog.csdn.net/hqlai1234/article/details/103770586

Shiro简介

半城伤御伤魂 提交于 2020-01-12 00:23:26
1.shiro是什么? Shiro是Apache下的一个开源项目。shiro属于轻量级框架,相对于SpringSecurity简单的多,也没有SpringSecurity那么复杂。官方架构图如下: 2.Shiro提供了四大功能: (1)认证 (2)授权 (3)加密 (4)会话管理 3.shiro主要功能 shiro主要有三大功能模块: Subject:主体,一般指用户。 SecurityManager:安全管理器,管理所有Subject,可以配合内部安全组件。(类似于SpringMVC中的DispatcherServlet) Realms:用于进行权限信息的验证,一般需要自己实现。 细分功能 Authentication:身份认证/登录(账号密码验证)。 Authorization:授权,即角色或者权限验证。 Session Manager:会话管理,用户登录后的session相关管理。 Cryptography:加密,密码加密等。 Web Support:Web支持,集成Web环境。 Caching:缓存,用户信息、角色、权限等缓存到如redis等缓存中。 Concurrency:多线程并发验证,在一个线程中开启另一个线程,可以把权限自动传播过去。 Testing:测试支持; Run As:允许一个用户假装为另一个用户(如果他们允许)的身份进行访问。 Remember Me

shiro中术语解释

落爺英雄遲暮 提交于 2020-01-11 06:52:32
Authentication(认证,一般用于登录) 身份验证是验证 Subject 身份的过程——实质上是证明某些人是否真的是他们所说的他们是谁。当认证尝试成 功后,应用程序能够相信该 subject 被保证是其所期望的。 Authorization(授权) 授权,又称为访问控制,是决定一个 user/Subject 是否被允许做某事的过程。它通常是通过检查和解释 Subject 的角色和权限(见下文),然后允许或拒绝到一个请求的资源或功能来完成的。 Cipher(密码算法) 密码是进行加密或解密的一种算法。该算法一般依赖于一块被称为 key 的信息。基于不同的 key 的加密算法 也是不一样的,所有解密没有它是非常困难的。 密码有不同的表现形式。分组密码致力于符号块,通常是固定大小的,而流密码致力于连续的符号流。对称 性密码加密和解密使用相同的密钥(key),而非对称性加密使用不同的密钥。如果非对称性加密的密钥不能 从其他地方得到,那么可以创建公钥/私钥对公开共享。 Credential(证书,凭据) 凭证是一块信息,用来验证 user/Subject 的身份。在认证尝试期间,一个(或多个)凭证与 Principals(s)被一 同提交,来验证 user/Subject 所提交的确实是所关联的用户。证书通常是非常秘密的东西,只有特定的 user/Subject 才知道,如密码或