Apache Shiro简介

来源:Application Security with Apache Shiro

你是为使你的应用更安全而感到苦恼?这篇文章介绍了Apache shiro。Apache shiro是一个java安全框架,提供了简单抢到的方法达到安全目的。这篇文章解释了Apache Shiro的项目目的、设计思想,并且简单介绍了怎样使用Apache Shiro;


一.什么是Apache Shiro

Apache Shiro是一个强大但是简单易用的java安全框架,它提供了验证登录(authentication)、授权(authorization)、加密(cryptography)、和session管理等功能,并且可以用于任何类型的应用——命令行应用、移动应用、大型网站或者是企业应用。

Shiro提供API用于实现以下4个功能:

1.Authentication ,登录(login);

2.Authorization ,访问控制(access control),授权;

      3.加密;

      4.session 管理;

Shiro也提供了诸如多线程支持、单元测试和web应用安全等功能,但这些功能都是为支持以上四个功能而存在。

二.Apache Shiro的诞生(原因)

...

三.为什么使用Apache Shiro

虽然至2003年以来框架领域变化迅速,但是今天仍然有一些强有力的利用使用Shiro,如下:

1.易用:

2.全面:

3.灵活:Shiro可以再任何应用环境中工作,没有依赖;

4.对web应用有极好的支持:允许你基于应用URLs和web协议(e.g.REST)创造灵活的安全策略,也提供了一些jsp libraries 用于控制页面输出;

5.易扩展:Shiro干净的API和优秀的设计模式使其容易被其他框架和应用整合。在实际应用中可以看到Shiro和Spring、Grais、APAC可 Camel的整合;

6.延续性:是Apache软件基金会的一部分。

四.谁在使用Shiro

...

五.核心概念:Subject,SecurityManager和Realms(realm.n 领域)

Subject,SecurityManager和Realms是Shiro架构的三个核心概念。

1.Subject(面向对象,主题,科目;v隶属于)

当你思考怎样是你的应用更加安全时,可能思考最多的问题是“现在的用户是什么角色”、“他有什么权限”。当我们写代码和设计我们的接口时,这些事情对于我们来说是一样的:应用的设计常基于“user story”,而且你的安全策略是基于每一个用户的(per-user basis)。所以对于我们来说,加密我们的应用最自然的方式是基于我们现在的“user”,即用户。Shiro API 在他的 Subject概念中,从根本上代表了这种思路。

“Subject”是一个安全属于,解释为“当前执行用户”。他可以是一个party process或者daemon account等等。他仅是指代现在和应用交互的事物。对于大多数“意图”和“目的”,你都可以认为是Shiro的“用户”。你可以在任何地方轻易地获取到Shiro Subject,如下代码所示:

import org.apache.shiro.subject.Subject;
import org.apache.shiro.SecurityUtils.
...
Subject currentUser=SecurityUtils;
一旦你获取了Subject,你边立即访问了90%的权限——你想Shiro下的当前用户做的事情,诸如登录,登出,获取他们的session,权限检查等等,这些我们稍后详述。关于subject最关键的是,他的API是非常直观的(intuitive),他的思想与开发者在思考为每个用户做安全控制是的思考方式一致。而且在代码中任何地方都能轻易获取到Subject,允许在任何地方做加密操作。

1.SecurityManager

我们上面讲到的“Subject”的“黑料”是SecurityManager:Subject代表着当前用户的安全操作,但是SecurityManager管理者所有用户的的安全操作。SecurityManager是Shiro框架的核心,而且







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值