zoukankan      html  css  js  c++  java
  • 权限控制框架---shiro入门

    1、shiro控制权限的两种思想:粗粒度url级别,细粒度方法级别

    2、shiro执行流程简介

     3、案例

    3.1shiro控制用户登录实现,登录其实就是shiro中的认证。

    (1)配置web.xml(shiro的filterFactory会去spring中找shiroFilter),配置spring分配置文件applicationContext-shiro.xml(shiroFilter,securityManager),在spring主配置文件中引入分配置文件。

    (2)action中获取subject对象,创建认证token对象,调用subject.login(token),shiro底层会调用securityManger。

    (3)编写Realm实现类,可以根据需要选择是实现Realm接口或继承某个实现类如AuthorizingRealm,实现某些方法如认证和授权的方法(登录只需要编写认证的代码,将授权空实现即可)

    (4)调用业务层查询user,token中就可以获取到username,下面这句代码比较关键,shiro中的securityManger是查询出的用户密码直接比较的。当密码不一致就会抛出异常,所以在action中的subject.login代码处捕获异常即可,无异常就表示认证成功,登录成功,可以跳转主页;有异常就表示认证失败,可以直接让返回登录页面即可。

      return new SimpleAuthenticationInfo(user, user.getPassword(), getName());

    3.2授权功能实现待续。。。

  • 相关阅读:
    idea 快捷键
    vue.js
    破解idea
    如何进行反向迭代以及如何实现反向迭代?
    如何使用生成器函数实现可迭代对象?
    从一个实际小例子来看python中迭代器的应用
    MySql中常用的内置函数
    linux服务器重启oracle服务。
    oracle里面清除服务器上所有的oracle服务。
    刷机后的环境变量
  • 原文地址:https://www.cnblogs.com/gongchengshixiaobai/p/8019442.html
Copyright © 2011-2022 走看看