Shiro框架总结
更好的自己520
这个作者很懒,什么都没留下…
展开
-
Shiro框架从入门到实战代码(一)Shiro简介和基础应用
一:Shiro是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密和会话管理。Authentication:身份认证/登录,验证用户是不是拥有相应的身份 Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限,即判断用户是否能做事情,常见的如: 验证某个用户是否拥有某个角色,或者细粒度的验证某个用户对某个资源是否具有某个权限 Session Ma...原创 2018-06-22 21:43:54 · 1056 阅读 · 0 评论 -
Shiro框架之INI配置(一)
根对象SecurityManager 从之前的Shiro架构图可以看出,Shiro是从根对象SecurityManager进行身份验证和授权的;也就是所有操作都是自它开始的,这个对象是线程安全且真个应用只需要一个即可,因此Shiro提供了SecurityUtils让我们绑定它为全局的,方便后续操作。因为Shiro的类都是POJO的,因此都很容易放到任何IoC容器管理。但是和一般的IoC容器的...转载 2018-06-18 23:40:49 · 252 阅读 · 0 评论 -
Shiro框架之INI配置
ini配置文件类似于Java中的properties(key=value),不过提供了将key/value分类的特性,key是每个部分不重复即可,而不是整个配置文件。如下是INI配置分类: [main] #提供了对根对象securityManager及其依赖的配置 securityManager=org.apache.shiro.mgt.DefaultSecurityManager ...转载 2018-06-18 23:30:45 · 182 阅读 · 0 评论 -
Shiro框架从入门到实战代码(二)ini文件和自定义realm
public class ShiroIniTest { public static void main(String[] args) {//创建默认的SecurityManagerDefaultSecurityManager securityManager=new DefaultSecurityManager();//设置身份验证的策略ModularRealmAuthentica...原创 2018-06-18 23:06:52 · 223 阅读 · 0 评论 -
shiro 身份认证 流程图讲解
身份认证流程图的描述:转载 2018-06-18 22:33:08 · 2648 阅读 · 0 评论 -
Shiro学习之Shiro授权的内部处理机制(六)
1、在应用程序中调用授权验证方法(Subject的isPermitted*或hasRole*等) 2、Sbuject的实例通常是DelegatingSubject类(或子类)的实例对象,在认证开始时,会委托应用程序设置的securityManager实例调用相应的isPermitted*或hasRole*方法。 3、接下来SecurityManager会委托内置的Authorizer的实例...转载 2018-06-18 12:29:19 · 192 阅读 · 0 评论 -
Shiro学习之Shiro的配置说明(五)
Apache Shiro的配置主要分为四部分: 对象和属性的定义与配置URL的过滤器配置静态用户配置静态角色配置其中,由于用户、角色一般由后台进行操作的动态数据,因此Shiro配置一般仅包含前两项的配置。 Apache Shiro的大多数组件是基于POJO的,因此我们可以使用POJO兼容的任何配置机制进行配置,例如:Java代码、Sping XML、YAML、JSON、ini...转载 2018-06-18 12:26:42 · 160 阅读 · 0 评论 -
Shiro学习之Shiro与Spring的集成(四)
一、在web.xml中添加shiro过滤器 <filter> <filter-name>shiroFilter</filter-name> <filter-class> org.springframework.web.filter.DelegatingFilterProxy </f...转载 2018-06-18 12:06:02 · 176 阅读 · 0 评论 -
Shiro学习之授权实现(三)
基于注解的授权实现 Shiro注解支持AspectJ、Spring、Google-Guice等,可根据应用进行不同的配置。 相关的注解: @ RequiresAuthentication 可以用户类/属性/方法,用于表明当前用户需是经过认证的用户。 @RequiresAuthentication public void updateAccount(Account use...转载 2018-06-18 11:54:32 · 184 阅读 · 0 评论 -
Shiro学习之授权实现(二)
Shiro支持三种方式实现授权过程:编码实现注解实现JSP Taglig实现1、基于编码的授权实现 基于传统角色授权实现 当需要验证用户是否拥有某个角色时,可以调用Subject 实例的hasRole()方法验证Subject currentUser = SecurityUtils.getSubject(); if (currentUser.hasRole(&quot;adm...转载 2018-06-18 10:53:11 · 223 阅读 · 0 评论 -
Shiro学习之认证机制(一)
认证就是验证用户身份的过程。在认证过程中,用户需要提交实体信息(Principals)和凭据信息(Credentials)以检验用户是否合法。最常见的“实体/凭证”组合便是“用户名/密码”组合。一、Shiro认证过程1、收集实体/凭据信息 UsernamePasswordToken token = new UsernamePasswordToken(username, password...转载 2018-06-18 10:37:32 · 555 阅读 · 1 评论 -
Shiro框架项目总结
<bean id="myShiroRealm" class="com.shiro.test.mvc.filter.MyShiroRealm"/> <bean id="cacheManager" class="org.apache.shiro.cache.MemoryConstrainedCacheManager"/> <bean id=&qu原创 2018-06-24 15:30:13 · 326 阅读 · 0 评论 -
Shiro框架从入门到实战代码(八)动态添加验证规则
MyShiroFilterFactoryBean.javapublic class MyShiroFilterFactoryBean extends ShiroFilterFactoryBean { private static final String ROLE_STRING = "roles[{0}]"; private String filterChainDefini...原创 2018-06-23 11:03:29 · 338 阅读 · 0 评论 -
Shiro框架从入门到实战代码(七)自定义过滤规则
public class MyShiroFilter extends AuthorizationFilter { @Override protected boolean isAccessAllowed(ServletRequest servletRequest, ServletResponse servletResponse, Object o) throws Exception ...原创 2018-06-23 09:50:32 · 234 阅读 · 0 评论 -
Shiro框架从入门到实战代码(六)使用注解实现权限验证
LoginController.java@Controllerpublic class LoginController { @RequestMapping("gologin.html") public String goLogin() { return "login"; } @RequestMapping("logout.html") ...原创 2018-06-23 09:17:38 · 291 阅读 · 0 评论 -
Shiro框架从入门到实战代码(五)springMVC结合Shiro实现权限验证
LoginController@Controllerpublic class LoginController { @RequestMapping("gologin.html") public String goLogin() { return "login"; } @RequestMapping("logout.html") publ...原创 2018-06-22 23:35:01 · 294 阅读 · 0 评论 -
Shiro框架从入门到实战代码(四)Servlet结合Shiro实现权限验证
IndexServlet@WebServlet(name = "indexServlet", urlPatterns = "/index.html")public class IndexServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServlet...原创 2018-06-22 23:10:58 · 749 阅读 · 0 评论 -
Shiro框架从入门到实战代码(三)使用mysql数据源
自定义的realmpublic class MyRealm2 extends AuthorizingRealm { private JdbcTemplate jdbcTemplate; public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplat...原创 2018-06-22 22:45:08 · 723 阅读 · 0 评论 -
shiro过滤器过滤属性含义
securityManager:这个属性是必须的。 loginUrl :没有登录的用户请求需要登录的页面时自动跳转到登录页面,不是必须的属性,不输入地址的话会自动寻找项目web项目的根目录下的”/login.jsp”页面。 successUrl :登录成功默认跳转页面,不配置则跳转至”/”。如果登陆前点击的一个需要登录的页面,则在登录自动跳转到那个需要登录的页面。不跳转到...转载 2018-06-19 22:51:04 · 715 阅读 · 0 评论