shrio入门
来源:互联网 发布:乐乎城市青年公寓好吗 编辑:程序博客网 时间:2024/05/22 11:47
Shiro入门
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:
认证 - 用户身份识别,常被称为用户“登录”;
会话管理 - 每用户相关的时间敏感的状态。
授权 - 访问控制;
密码加密 - 保护或隐藏数据防止被偷窥;
对于任何一个应用程序,Shiro都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro要简单的多。
Shiro的三个核心组件:Subject, SecurityManager 和 Realms
Application Code --> Subject -->Shiro SecurityManager --> Realm
Subject:即“当前操作用户”。
但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。
它仅仅意味着“当前跟软件交互的东西”。但考虑到大多数目的和用途,你可以把它认为是Shiro的“用户”概念。
Realm: Realm充当了Shiro与应用安全数据间的“桥梁”或者“连接器”。
也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro会从应用配置的Realm中查找用户及其权限信息。
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:
认证 - 用户身份识别,常被称为用户“登录”;
会话管理 - 每用户相关的时间敏感的状态。
授权 - 访问控制;
密码加密 - 保护或隐藏数据防止被偷窥;
对于任何一个应用程序,Shiro都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro要简单的多。
Shiro的三个核心组件:Subject, SecurityManager 和 Realms
Application Code --> Subject -->Shiro SecurityManager --> Realm
Subject:即“当前操作用户”。
但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。
它仅仅意味着“当前跟软件交互的东西”。但考虑到大多数目的和用途,你可以把它认为是Shiro的“用户”概念。
Realm: Realm充当了Shiro与应用安全数据间的“桥梁”或者“连接器”。
也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro会从应用配置的Realm中查找用户及其权限信息。
示例1:使用Shiro对用户信息进行验证
import org.apache.shiro.SecurityUtils;import org.apache.shiro.authc.UsernamePasswordToken;import org.apache.shiro.config.IniSecurityManagerFactory;import org.apache.shiro.mgt.SecurityManager;import org.apache.shiro.subject.Subject;import org.apache.shiro.util.Factory;public class ShiroTest {public static void main(String[] args) {//1.Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");//2.SecurityManager securityManager = factory.getInstance();//3.SecurityUtils.setSecurityManager(securityManager);//4.Subject currentUser = SecurityUtils.getSubject();if(currentUser.isAuthenticated()){System.out.println("已登录,SESSION: " + currentUser.getSession());}UsernamePasswordToken token = new UsernamePasswordToken("zwx","zavens1");try {currentUser.login(token);} catch (Exception e) {System.out.println("验证没有通过!");}if(currentUser.isAuthenticated()){System.out.println("已登录,SESSION: " + currentUser.getSession());}}}
- shrio入门
- shrio入门
- apache shrio 入门示例
- Shrio入门1:基础理论需求
- Shrio的入门例子,从基础教你使用shrio
- shrio
- Shrio
- Shrio 入门系列 三 (授权与Spring整合)
- shrio学习
- shrio配置
- shrio理解:
- Shrio-004
- Shrio-005
- Shrio-007
- springMvc +Hiberbnate +shrio 实战
- springmvc集成shrio
- shrio的使用
- Redis-shrio集成
- HDOJ 【C】1.1.6 A+B for Input-Output Practice (VI)
- Objective-C 2.0数据类型
- poj1011
- JFreechart创建刻度蜘蛛环图
- CSS自适应宽度圆角按钮
- shrio入门
- 同事讲的关于小孩和LINUX的故事
- NSNotification的几点说明
- Liferay Portal 介绍
- 使用ContactsContract API
- HDOJ 【C】1.1.7 A+B for Input-Output Practice (VII)
- Eclipse快捷键大全
- 解决flexgrid显示日期的问题
- [Ext.Net]GridPanel滚动条添加在底部