美文网首页
Apache权限框架shiro

Apache权限框架shiro

作者: 仙女味的Tiamo | 来源:发表于2018-03-01 13:53 被阅读0次

shiro是一个安全权限框架,使用它我们可以完成认证、授权、加密、会话管理、与 Web 集成、缓存等。

shiro核心模块securityManager构造解析

Authentication:身份认证 / 登录,从数据库获取数据,验证用户是不是拥有相应的身份;

Authorization:权限验证(授权),验证已通过认证的用户拥有哪些权限;(根据用户角色,判断用户能做哪些事情。)

Session Manager:会话管理,即用户登录后就是一次会话,在用户没有退出之前,它的所有信息都记录在会话中;

Cryptography:加密模块,对于用户的密码等重要信息加密存储(散列算法,加密算法)

websupport:提供web支持,更好的集成项目环境。

caching:缓存,将登陆后的用户信息存储下来,方便下次查找,提高效率。

Concurrency:shiro 支持多线程应用的并发验证,如在一个线程中开启另一个线程,能把权限自动传播过去;

Testing:提供测试支持;

Run As:允许一个用户假装为另一个用户(如果他们允许)的身份进行访问;

Remember Me:记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。

以上整个构成shiro的securityManager,shiro的核心部件就是securityManager。

shiro权限处理流程 shiro内部架构

项目代码通过subject与shiro产生交互,所以可以将subject是shiro对外的核心,subject即用户对象。

Subject:用户对象,即所有与shiro产生交互的对象,不一定为用户。

securityManager:shiro的核心,用户认证、授权、加解密均在此完成。

realm:域,Shiro 从从 Realm 获取安全数据(如用户、角色、权限),就是说 SecurityManager 要验证用户身份,那么它需要从 Realm 获取相应的用户进行比较以确定用户身份是否合法;也需要从 Realm 得到用户相应的角色 / 权限进行验证用户是否能进行操作;可以把 Realm 看成 DataSource,即安全数据源(一个项目可以有多个realm,执行顺序按照配置顺序执行)。

下面就配置shiro,项目采用ssm框架,使用maven管理jar包。

首先在pom.xml下引入shiro的jar包:

接下来配置spring-shiro.xml

首先配置shiro的核心securityManager

配置securityManager

接下来配置项目自定义的realm(一个项目可配置多个realm,执行顺序按配置顺序执行,bean的id值对应securityManager中property的ref值)

配置项目自定义的realm

接下来配置shiro的权限过滤,securityManager:这个属性是必须的。

loginUrl :没有登录的用户请求需要登录的页面时自动跳转到登录页面,不是必须的属性,不输入地址的话会自动寻找项目web项目的根目录下的”/login.jsp”页面。

successUrl :登录成功默认跳转页面,不配置则跳转至”/”。如果登陆前点击的一个需要登录的页面,则在登录自动跳转到那个需要登录的页面。不跳转到此。

unauthorizedUrl :没有权限默认跳转的页面。

其权限过滤器及配置释义:

anon:例子/admins/**=anon 没有参数,表示可以匿名使用(无须验证即可访问页面)。

authc:例如/admins/user/**=authc表示需要认证(登录)才能使用,没有参数。(必须认证之后才可以访问的界面)

logout:一般只对应loginOut,用户直接退出

权限过滤器配置

下面配置shiro的缓存(可以使用ehcache或者redis,改配置即可)

shiro缓存配置

相关文章

  • Shiro学习笔记

    一 、Shiro入门 1.简介 Apache Shiro 是 Java 的一个安全(权限)框架。 Shiro 可以...

  • Spring boot集成shiro

    shiro为apache旗下一个权限框架,Apache Shiro是一个强大且易用的Java安全框架,执行身份验证...

  • 基于shiro的权限设计

    shiro介绍 Apache shiro是一个权限控制框架,它将安全认证抽取出来,实现用户身份认证,权限授权,加密...

  • Apache权限框架shiro

    shiro是一个安全权限框架,使用它我们可以完成认证、授权、加密、会话管理、与 Web 集成、缓存等。 Authe...

  • Shiro初体验

    简介: Apache Shiro 是 Java 的一个安全(权限)框架。Shiro 可以非常容易的开发出足够好的...

  • shiro初识,全面介绍架构精讲篇

    什么是shiro shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。 spr...

  • 应用开发有用的资源

    一、Java框架1、系统权限相关Apache Shiro是一个强大、灵活、开源的安全框架,它支持用户认证、权限控制...

  • Shiro基本入门教程

    1.Shiro概述 Shiro是一款Apache提供的权限校验框架, Shiro同时也是一个强大且易用的Java安...

  • Apache Shiro 是什么 & Shiro 框架介绍

    Apache Shiro 是什么 & Shiro 框架介绍 官方介绍 Apache Shiro™ is a pow...

  • 一、shiro简介

    简介: Apache Shiro 是一个功能强大且易于使用的Java安全(权限)框架 Shiro 让您可以快速轻松...

网友评论

      本文标题:Apache权限框架shiro

      本文链接:https://www.haomeiwen.com/subject/ksygxftx.html