文档章节

Shiro注解笔记

小致Daddy
 小致Daddy
发布于 2016/12/13 22:04
字数 568
阅读 165
收藏 3

shiro验证权限方式一种是基于url配置文件:

<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
        <property name="securityManager" ref="securityManager"/>

        <!-- 登录页面 ,用户 登录不成功自动 返回该页面 -->
        <property name="loginUrl" value="/login"/>

        <!-- 登录成功页面,登录成功后跳转到该页面  -->
        <property name="successUrl" value="/index"/>

        <!-- 无权访问跳转页面  -->
        <property name="unauthorizedUrl" value="permNo"/>

        <!-- 自定义权限页面设置url的访问权限。anon表示不用验证,
        都可以访问。anthc:authc filter 监听,不登陆不能访问。logout:logout filter监听。
        没有列出的常用配置:perms["remote:invoke"] :需要角色romote 和权限invoke才能访问。roles["admin"]需要角色admin才能访问。设置可用“,”隔开,
        如:/admin/test = authc,roles[admin]  -->

        <property name="filterChainDefinitions">
            <value>
                <!--  无参,表示需认证才能使用 -->
          /home=authc
                /resources/**=anon

            </value>
        </property>
    </bean>

另外一种是基于注解:

例如:

RequiresAuthentication注解

RequiresAuthentication注解要求在访问或调用被注解的类/实例/方法时,Subject在当前的session中已经被验证。

@RequiresAuthentication

public void updateAccount(Account userAccount) {

//this method will only be invoked by a

//Subject that is guaranteed authenticated

...

}

RequiresGuest注解

RequiresGuest注解要求当前Subject是一个“访客”,也就是,在访问或调用被注解的类/实例/方法时,他们没有被认证或者在被前一个Session记住。

@RequiresGuest

public void signUp(User newUser) {

//this method will only be invoked by a

//Subject that is unknown/anonymous

...

}

RequiresPermissions 注解

RequiresPermissions 注解要求当前Subject在执行被注解的方法时具备一个或多个对应的权限。

@RequiresPermissions("account:create")

public void createAccount(Account account) {

//this method will only be invoked by a Subject

//that is permitted to create an account

...

}

RequiresRoles 注解

RequiresPermissions 注解要求当前Subject在执行被注解的方法时具备所有的角色,否则将抛出AuthorizationException异常。

@RequiresRoles("administrator")

public void deleteUser(User user) {

//this method will only be invoked by an administrator

...

}

如果在Controller中如果直接使用上面标签是不起作用的,需要开启shiro注解

<!-- 开启aop,对类代理 -->
<aop:config proxy-target-class="true"></aop:config>

<!-- 开启shiro注解支持 -->
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
    <property name="securityManager" ref="securityManager"/>
</bean>
<!-- 启用 IOC 容器中使用 shiro 的注解. 但必须在配置了 LifecycleBeanPostProcessor 之后才可以使用 -->
<bean id="controllerAdvisorAutoProxyCreator" class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"
    depends-on="lifecycleBeanPostProcessor"/>

 

© 著作权归作者所有

小致Daddy

小致Daddy

粉丝 193
博文 578
码字总数 602911
作品 0
济南
技术主管
私信 提问
Spring Cache 和 Apache Shiro整合的超级深坑

历时1天,跟踪了一天spring aop的源代码。最后在google上找到了答案。 写个笔记记录,希望遇到相同问题的同学,可以避免这个问题。 问题概述 项目到了尾声,需要使用缓存进行优化,项目中使用...

lis1314
2016/07/04
271
0
给JFinal添加Shiro插件功能,支持Shiro所有注解

个人实现了给JFinal添加Shiro插件功能,支持Shiro所有注解。 写了三篇博客来介绍,还请@JFinal指点。 给JFinal添加Shiro插件功能,支持Shiro所有注解-实现篇 给JFinal添加Shiro插件功能,支持...

玛雅牛
2013/06/13
6.2K
9
JFinal的Shiro权限管理插件 2.0 版发布,支持JFinal 2.0

JFinal的Shiro权限管理插件 更新说明: 1)支持JFinal2.0 2)添加了一些实际项目中的代码供参考。 3)由于shiro需要与具体的业务整合才能使用,所以这个插件仅仅是方便在jfinal中使用shiro。...

玛雅牛
2015/08/18
6.1K
24
Shiro之授权管理与授权的三种方式(1、编程方式,2、注解方式,3、jsp标签)-yellowcong

授权管理,三种方式,其中注解和jsp的方式在开发中用得比较的多,但是对于编程的方式完成注解,在实际开发中,用得不是特别多。这一节,讲解shiro如何完成授权的,授权操作,需要在Reaml中,...

yelllowcong
2017/12/20
0
0
SpringBoot 优雅的整合 Shiro

Apache Shiro是一个功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理。借助Shiro易于理解的API,您可以快速轻松地保护任何应用程序 - 从最小的移动应用程序到最大的...

木云凌
03/19
441
0

没有更多内容

加载失败,请刷新页面

加载更多

golang初探与命令源码分析

前段时间有群友在群里问一个go语言的问题: 就是有一个main.go的main函数里调用了另一个demo.go里的hello()函数。其中main.go和hello.go同属于main包。但是在main.go的目录下执行go run main...

码农实战
8分钟前
1
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
8
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
8
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
9
0
HTML5+CSS3从入门到精通 中文pdf版​

本文转载于:专业的前端网站➵HTML5+CSS3从入门到精通 中文pdf版 HTML5+CSS3从入门到精通是通过基础知识+中小实例+综合案例的方式,讲述了用HTML5+ CSS3设计构建网站的必备知识,相对于专业指...

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部