为了账号安全,请及时绑定邮箱和手机立即绑定

Shiro安全框架入门

Mark0101 JAVA开发工程师
难度中级
时长 2小时20分
学习人数
综合评分9.37
112人评价 查看评价
9.4 内容实用
9.3 简洁易懂
9.4 逻辑清晰
  • 源码位置:https://gitee.com/ljl17625/shiro-spring/tree/master

    查看全部
    5 采集 收起 来源:Shiro集成Spring

    2018-08-20

  • JdbcRealm 有默认的查询语句

    查看全部
    0 采集 收起 来源:JdbcRealm讲解

    2018-08-13

  • shiro授权

    查看全部
    0 采集 收起 来源:Shiro授权

    2018-08-13

  • Shiro认证流程:

    1:创建SecurityManager;

    2: 主体提交认证 ;

    3:SecurityManager认证;

    4:SecurityManager是用Authenticator来认证;

    5:authenticator认证是通过Realm获取认证数据做最终的认证

    查看全部
    1 采集 收起 来源:Shiro认证

    2018-08-13

  • Shiro认证


    查看全部
    2 采集 收起 来源:Shiro认证

    2018-08-11

  • Shiro也是通过Security Manager提供安全服务

    Authenticator 认证器 管理登入登出

    Authorizer 授权器 赋予主体有哪些权限

    Session Manager Shiro自己实现的session管理

    Session Dao 对Session进行增删改查

    Cache Manager  缓存管理 可以缓存角色数据、权限数据

    Realms   shiro与数据库的桥梁,

    主体提交认证信息到SecurityManager,SecurityManager调用Authenticator去做认证,Authenticator获取认证信息是通过realms访问数据库,让客户提交信息与realms提供的信息做匹配。

    同样的 Authorizer也是通过调用realms获取权限的。

    cryptography 安全加密

    查看全部
    1 采集 收起 来源:Shiro整体架构

    2018-08-11

  • spring整合shiro

     

    1.创建项目

    2.导入依赖(spring、shiro、springmvc、spring-shiro、shiro-web)

    3.创建web.xml(配置前端控制器、过滤器、加载初始化springmvc.xml、加载spring.xml、post请求乱码)

    4.创建springmvc.xml(配置上下文扫描,配置mvc的处理器适配器、处理器适配器,配置静态文件扫描)

    5.创建spring.xml(加到容器中:shiroFilter,创建SecurityMananger对象并设置自定义Realm,定义自定义的Realm,设置加密的算法)

    6.创建login.html (表单账号、密码提交到UserController)

    7.自定义Realm

    8.创建UserController(接受前台数据,进行shiro登录验证,如果成功返回成功,打印错误) 


    查看全部
    1 采集 收起 来源:Shiro集成Spring

    2018-08-10

  •            自定义IniRealm

    在src/main/resources中创建user.ini

    内容为:

    [users]

    Mark1=123,admin     admin是role

    [roles]

    admin=user:delete       拥有删除用户的权限


    public class IniRealmTest {

    //Realm:领域,范围

    @Test

    public void testAuthentication() {

    //路径

    IniRealm realm=new IniRealm("classpath:user.ini");

    //获取安全管理者对象------DefaultSecurityManager默认管理者

    DefaultSecurityManager defaultSecurityManager = new DefaultSecurityManager();

    //设置管理者的管理领域

    defaultSecurityManager.setRealm(realm);

    //SecurityUtils操作securityManager的工具类,提供了getSecurityManager和setSecurityManger,getSubject的方法

    //此处是给工具类默认管理者对象

    SecurityUtils.setSecurityManager(defaultSecurityManager);

    //获取Subject对象,可以进行login 登陆 和logout 登出方法

    Subject subject = SecurityUtils.getSubject();

    //用户+密码的token令牌

    UsernamePasswordToken token = new UsernamePasswordToken("Mark1", "123");

    //登入

    subject.login(token);

    //如果token中的密码和用户名,在上面的用户中,那么会返回true,反之则是false

    System.out.println("isAuthenticated:" + subject.isAuthenticated());

    //登出

    subject.logout();

    //因为登出了,会返回false

    System.out.println("isAuthenticated:" + subject.isAuthenticated());

    }

    }


    查看全部
    0 采集 收起 来源:IniRealm讲解

    2018-08-05

  •            简单的shiro的Demo

    Pom.xml中需要依赖

    <dependency>

    <groupId>org.apache.shiro</groupId>

    <artifactId>shiro-core</artifactId>

    <version>1.4.0</version>

    </dependency>


    <dependency>

    <groupId>org.slf4j</groupId>

    <artifactId>slf4j-simple</artifactId>

    <version>1.7.25</version>

    </dependency>


    public class AuthenticationTest {

    //Realm其中最简单的一种

    SimpleAccountRealm simpleAccountRealm = new SimpleAccountRealm();

    @Before//一定要写这个Before,不然找不到对应的用户

    //添加用户

    public void addUser() {

    simpleAccountRealm.addAccount("Mark", "123456");

    simpleAccountRealm.addAccount("Mark1", "123456");

    }

    //Realm:领域,范围

    @Test

    public void testAuthentication() {

    //获取安全管理者对象------DefaultSecurityManager默认管理者

    DefaultSecurityManager defaultSecurityManager = new DefaultSecurityManager();

    //设置管理者的管理领域

    defaultSecurityManager.setRealm(simpleAccountRealm);

    //SecurityUtils操作securityManager的工具类,提供了getSecurityManager和setSecurityManger,getSubject的方法

    //此处是给工具类默认管理者对象

    SecurityUtils.setSecurityManager(defaultSecurityManager);

    //获取Subject对象,可以进行login 登陆 和logout 登出方法

    Subject subject = SecurityUtils.getSubject();

    //用户+密码的token

    UsernamePasswordToken token = new UsernamePasswordToken("Mark1", "123456");

    //登入

    subject.login(token);

    //如果token中的密码和用户名,在上面的用户中,那么会返回true,反之则是false

    System.out.println("isAuthenticated:" + subject.isAuthenticated());

    //登出

    subject.logout();

    //因为登出了,会返回false

    System.out.println("isAuthenticated:" + subject.isAuthenticated());

    }

    }


    查看全部
    0 采集 收起 来源:Shiro认证

    2018-08-05

  •      Shiro认证的主要步骤

    1. 创建SecurityManager

    2. 主体提交认证

    3. SecurityManager认证

    4. Authenticator认证

    5. Realm验证

    查看全部
    0 采集 收起 来源:Shiro认证

    2018-08-04

  • Shiro 授权:

    创建SecurityManager -> 主体授权 -> SecurityManager授权 -> Authorizer授权 -> Realm获取角色权限数据

    查看全部
    0 采集 收起 来源:Shiro授权

    2018-07-31

  • Shiro认证过程:

    创建SecurityManager -> 主题提交认证 -> SecurityManager认证 -> Authenticator认证 -> Realm验证

    查看全部
    0 采集 收起 来源:Shiro认证

    2018-07-25

  • Shiro整体架构

    查看全部
    0 采集 收起 来源:Shiro整体架构

    2018-07-25

  • 可以完成项目里的权限
    查看全部
    0 采集 收起 来源:Shiro简介

    2018-07-24

  • shiro认证流程

    创建SecurityManager-->主体提交认证-->SecurityManager认证-->Authenticator认证-->Realm验证(连接数据库的桥梁)

    查看全部
    0 采集 收起 来源:Shiro认证

    2018-07-19

举报

0/150
提交
取消
课程须知
基本必备:Java基础,Spring基础,使用过java web
老师告诉你能学到什么?
认识Shiro的整体架构 Shiro认证,授权过程及Session管理,缓存管理 Shiro在项目中的使用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!