- 浏览: 1009464 次
文章分类
最新评论
-
18335864773:
很多公司项目 都在使用pageoffice 来操作word,e ...
用java生成word文档 -
Gozs_cs_dn:
请问下博主, 怎样将sitemesh3.xsd绑定 sitem ...
SiteMesh3配置 -
Rose_06:
springside4.0quick-start.bat报错原因 -
ilemma:
我也是刚参见工作啊,经理让自学这个,有些东西不太懂,能不能发个 ...
Apache Shiro在Web中的应用 -
shanbangyou:
你废了
程序员上班打酱油的方法
一、在web.xml中添加shiro过滤器
<!-- Shiro filter--> <filter> <filter-name>shiroFilter</filter-name> <filter-class> org.springframework.web.filter.DelegatingFilterProxy </filter-class> </filter> <filter-mapping> <filter-name>shiroFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
二、在Spring的applicationContext.xml中添加shiro配置
<!-- Shiro Filter --> <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <property name="securityManager" ref="securityManager" /> <property name="loginUrl" value="/login" /> <property name="successUrl" value="/user/list" /> <property name="unauthorizedUrl" value="/login" /> <property name="filterChainDefinitions"> <value> /login = anon /user/** = authc /role/edit/* = perms[role:edit] /role/save = perms[role:edit] /role/list = perms[role:view] /** = authc </value> </property> </bean>
2、添加securityManager定义
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="realm" ref="myRealm" /> </bean>
3、添加realm定义
<bean id=" myRealm" class="com...MyRealm" />
三、实现MyRealm:继承AuthorizingRealm,并重写认证授权方法
public class MyRealm extends AuthorizingRealm{ private AccountManager accountManager; public void setAccountManager(AccountManager accountManager) { this.accountManager = accountManager; } /** * 授权信息 */ protected AuthorizationInfo doGetAuthorizationInfo( PrincipalCollection principals) { String username=(String)principals.fromRealm(getName()).iterator().next(); if( username != null ){ User user = accountManager.get( username ); if( user != null && user.getRoles() != null ){ SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(); for( SecurityRole each: user.getRoles() ){ info.addRole(each.getName()); info.addStringPermissions(each.getPermissionsAsString()); } return info; } } return null; } /** * 认证信息 */ protected AuthenticationInfo doGetAuthenticationInfo( AuthenticationToken authcToken ) throws AuthenticationException { UsernamePasswordToken token = (UsernamePasswordToken) authcToken; String userName = token.getUsername(); if( userName != null && !"".equals(userName) ){ User user = accountManager.login(token.getUsername(), String.valueOf(token.getPassword())); if( user != null ) return new SimpleAuthenticationInfo( user.getLoginName(),user.getPassword(), getName()); } return null; } }相关参考:
评论
1 楼
wentao_tang
2012-03-07
你好,请教个问题:
我用springmvc 和 shiro 结合使用,在controller里方法里面加@RequiresPermissions 注解,当没有权限访问这个方法的时候,后台就抛异常严重: Servlet.service() for servlet spring threw exception
org.apache.shiro.authz.AuthorizationException: Not authorized to invoke method: public java.util.List com.turingoal.core.tf.service.SysRoleService.findAllRolesMap()
at
如上所示,没有权限调用这个方法,但是我在配置文件里陪了:
<bean id="shiroFilter"
class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager" />
<!-- 可根据项目的URL进行替换 -->
<property name="loginUrl" value="/" />
<property name="successUrl" value="/core/system/index" />
<property name="unauthorizedUrl" value="/core/system/noAuth" />
</bean>
不知道为啥没起作用,希望能指导一下,谢谢了!!!
我用springmvc 和 shiro 结合使用,在controller里方法里面加@RequiresPermissions 注解,当没有权限访问这个方法的时候,后台就抛异常严重: Servlet.service() for servlet spring threw exception
org.apache.shiro.authz.AuthorizationException: Not authorized to invoke method: public java.util.List com.turingoal.core.tf.service.SysRoleService.findAllRolesMap()
at
如上所示,没有权限调用这个方法,但是我在配置文件里陪了:
<bean id="shiroFilter"
class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager" />
<!-- 可根据项目的URL进行替换 -->
<property name="loginUrl" value="/" />
<property name="successUrl" value="/core/system/index" />
<property name="unauthorizedUrl" value="/core/system/noAuth" />
</bean>
不知道为啥没起作用,希望能指导一下,谢谢了!!!
发表评论
-
Apache Shiro在Web中的应用
2012-05-15 11:15 2058概述 Shiro 是一个 Apache ... -
SpringMVC使用@ResponseBody中文乱码
2012-03-31 11:45 3106Spring3.0 MVC @ResponseBody 的 ... -
spring mvc 3 上传文件
2012-03-30 16:31 1273spring mvc 支持web应用程序的文件上传功能,是由 ... -
解决 spring mvc 3.0 结合 hibernate3.2 使用<tx:annotation-driven>声明式事务无法提交的问题
2011-10-29 09:23 111711、问题复现 spring 3.0 + hiber ... -
spring3 混合使用 XML 与注解(Annotation)进行 Bean 的配置
2011-10-21 17:34 3668设计 @Configuration 和 @Bean 的初衷,并 ... -
10分钟教会你Apache Shiro
2011-10-18 08:46 2804前言 欢迎来到Apache Shiro 10分钟之旅! 希 ... -
Shiro 权限框架使用总结
2011-10-17 17:54 13170我们首先了解下什么是shiro ,Shiro 是 JAVA ... -
springMVC最佳实践-基于注解的Controller
2011-10-13 23:09 919在spring 2.5发布之后,基于注解的Controller ... -
springmvc3-hibernate-crud例子
2011-10-12 23:45 660http://java.dzone.com/articles/ ... -
ExtJS, Spring MVC 3 and Hibernate 3.5: CRUD例子
2011-10-12 23:45 1327http://loianegroner.com/2010/09 ... -
spring mvc3 annotation例子
2011-10-12 23:43 1901服务端数据到客户端1.返回页面,Controller中方法返回 ... -
Spring Web MVC框架学习笔记
2011-10-12 21:22 2260spring-framework-reference中文版摘录 ... -
Mastering Spring MVC 3中文版
2011-10-11 23:00 3215Mastering Spring MVC 3中文版 精通Sp ... -
基于Myeclipse9.1的spring3.1MVC开发搭建
2011-10-01 14:27 2038(1)配置基础装备。每个符合Java EE规范的web应用程 ... -
Spring Security 设置session
2011-04-02 15:26 3955使用SecurityContextHolder来偷窥登入帐号密 ... -
springsecurity的URL过滤和全局过滤
2011-03-31 15:55 4850springsecurity的URL过滤和全局过滤 最近有个需 ... -
权限控制:spring 3.0 security配置例子
2011-03-31 15:21 1967我几年前自己写过一个 ... -
SpringSide 3 中的 Struts 2
2011-03-03 18:01 938在SpringSide 3 中,使用的MVC框架是Struts ... -
springside 中 报 org.hibernate.MappingException: Unknown entity: XXX
2011-03-03 17:25 1259org.hibernate.MappingException: ... -
springside 迁移sqlserver数据库报错
2011-03-02 16:55 833报错信息: java.lang.AbstractMethodE ...
相关推荐
Spring框架则是一个广泛使用的Java企业级应用开发框架,涵盖了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等多个领域。将Spring与Shiro结合,可以充分利用两者的优点,为应用程序提供全面的安全性支持...
基于Spring Boot和Shiro框架的权限管理系统 项目简介 本项目是一个基于Spring Boot和Shiro框架的权限管理系统,结合Vue.js实现前后端分离。系统支持按钮接口级别的权限控制,确保用户只能访问其权限范围内的资源。...
以下将详细介绍基于Spring框架的Shiro配置方法。 首先,我们需要在`web.xml`中配置Shiro的过滤器。这一步是设置Shiro的核心过滤器`DelegatingFilterProxy`,它会代理到Spring的Bean中。配置如下: ```xml <!-- ...
Spring Shiro是将Shiro安全框架与Spring框架结合使用的一种模式。Shiro是一个强大且灵活的开源安全框架,提供了认证、授权、加密和会话管理等功能。通过与Spring框架的集成,Spring Shiro能够更好地适应Java应用的...
它是Spring框架的一部分,提供了一种模型-视图-控制器的设计模式,使得开发者能够将业务逻辑、控制流程和用户界面分离。Spring MVC通过DispatcherServlet接收请求,通过HandlerMapping找到对应的Controller,然后...
首先,让我们了解Spring框架。Spring以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)的核心特性,极大地简化了Java应用的开发。它提供了IoC容器,用于管理对象的生命...
接着,Spring框架是Java领域中广泛使用的开源框架,其核心特性包括依赖注入(DI)和面向切面编程(AOP)。在本项目中,Spring与Spring MVC共同工作,提供模型-视图-控制器(MVC)架构,用于处理HTTP请求和响应,以及...
【标题】"spring-shiro-demo" 是一个基于Spring和Apache Shiro框架的示例项目,旨在展示如何在Java Web应用中整合这两个强大的安全框架来实现用户认证和授权。 【描述】"spring-shiro-demo" 提供了实际操作的代码,...
1. **Shiro配置**:配置Shiro的安全管理,包括定义 Realm(域)以获取用户信息,设置权限规则,以及登录、登出逻辑等。 2. **Spring Boot整合**:在Spring Boot的主配置类中,将Shiro与Spring Boot的生命周期进行...
Spring Boot 是基于Spring框架的开发工具,它简化了创建独立的、生产级别的基于Spring的应用程序的过程。其核心特性包括自动配置、起步依赖、命令行接口(CLI)和内嵌的HTTP服务器等。Spring Boot 的目标是让你能够...
Spring框架作为Java领域最流行的框架之一,提供了丰富的功能,而Apache Shiro则是一款强大的安全管理框架,专注于身份验证、授权和会话管理。将Spring与Shiro进行整合,可以构建出高效且灵活的安全管理体系。本文将...
Spring框架是企业级应用开发的基石,它通过依赖注入(DI)和面向切面编程(AOP)简化了Java应用的开发。Spring的IoC容器管理着应用对象的生命周期和依赖关系,而SpringMVC则为Web应用提供了模型-视图-控制器(MVC)...
1. **Spring框架**:Spring是Java开发中不可或缺的一部分,它提供了一个全面的编程和配置模型,使得开发人员能够更专注于编写应用程序,而不是处理基础设施问题。在本系统中,Spring作为依赖注入(DI)容器,负责...
Spring Boot Shiro Demo项目是一个基于Spring Boot框架与Apache Shiro实现的权限管理示例,旨在帮助开发者快速理解和应用Shiro进行权限控制。相比Spring Security,Shiro通常被认为更易于理解和使用,更适合小型到...
该项目是一款基于Java语言的Spring Boot框架结合Shiro安全认证机制的源码,共包含32个文件,其中Java源文件25个,XML配置文件5个,Git忽略文件1个,YAML配置文件1个,适用于构建安全可靠的应用程序。
本项目是一款基于Spring Boot和Shiro框架构建的实验教学信息管理系统源码,包含603个文件,涉及259个Java源文件、87个HTML文件、56个JavaScript文件、54个PNG图像文件、34个CSS样式文件、31个XML配置文件、21个JPG...
本文将详细介绍如何在Spring框架中整合Shiro,实现身份识别(authc)和鉴权管理功能。 首先,我们需要引入Shiro的相关依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache....
1. **Spring框架**:Spring是Java领域的一个重量级框架,它提供了全面的编程和配置模型,简化了企业级应用的开发。在这个CRM系统中,Spring主要负责依赖注入(DI)和面向切面编程(AOP),同时也可能包括Spring MVC...
Shiro可以很容易地与Spring框架集成,这使得开发者可以在Spring环境中方便地管理和使用Shiro的各种组件。Spring提供了多种方式来集成Shiro,包括使用Spring的XML配置文件或者Java配置类。例如,在Spring的配置文件中...
本教程将深入探讨如何结合Spring框架与Apache Shiro库,构建一套强大的权限管理系统。Spring作为Java领域的主流框架,提供了丰富的功能和灵活的扩展性;而Shiro则是一个轻量级的安全框架,专注于身份验证、授权和...