2018-5-28 09:18:24

本文介绍 Apache Shiro,一个强大且灵活的 Java 安全框架,涵盖其基本概念、与 Spring Security 的对比、整体架构及如何通过示例进行认证授权测试。此外还涉及了 Shiro 的内置 Realm 和加密机制。

1. 什么是shiro?

    *Apache的强大灵活的开源安全框架。

    *认证、授权、企业会话管理、安全加密

2. shiro与Spring Security比较?

    Apache Shiro :简单、灵活,可脱离spring,粒度较粗。

    Spring Security:复杂、笨重,不可脱离spring,粒度更细。

3. shiro整体架构?

    

    4. shiro的认证授权简单测试。

/**
 * shiro认证授权测试
 * Created by fly on 2018-5-28.
 */
public class AuthenticationTest {

    SimpleAccountRealm simpleAccountRealm = new SimpleAccountRealm();

    @Before
    public void addUser(){
        simpleAccountRealm.addAccount("mark","123456", "admin","user");
    }

    @Test
    public void testAuthentication(){

        //1.构建SecurityManager环境
        DefaultSecurityManager defaultSecurityManager = new DefaultSecurityManager();
        //指定realm
        defaultSecurityManager.setRealm(simpleAccountRealm);
        //设置环境为defaultSecurityManager环境
        SecurityUtils.setSecurityManager(defaultSecurityManager);

        //2.主体提交认证请求
        Subject subject = SecurityUtils.getSubject();

        UsernamePasswordToken token = new UsernamePasswordToken("mark","123456");
        //登录认证
        subject.login(token);

        System.out.println("isAuthenticated:"+subject.isAuthenticated());
        //登出
//        subject.logout();
//
//        System.out.println("isAuthenticated:"+subject.isAuthenticated());
        //授权检查
        subject.checkRoles("admin");
        subject.checkRoles("admin","user");
    }
}

 5. shiro的内置realm:lniRealm         JdbcRealm    自定义realm

 6. shiro加密:HashedCredentialsMatcher、自定义realm、盐的使用。

 7. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值