`
gao_yang
  • 浏览: 2125 次
  • 性别: Icon_minigender_1
  • 来自: 长春
最近访客 更多访客>>
社区版块
存档分类
最新评论

基于Spring MVC框架的Shiro配置

阅读更多
一、在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配置
1、添加shiroFilter定义
<!-- 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;
	}

}
分享到:
评论

相关推荐

    spring mvc shiro的配置使用.zip_DEMO_spring mvc_spring mvc shiro

    在"spring mvc shiro"的配置使用中,我们首先需要理解这两个框架的基本概念: 1. **Spring MVC**:Spring MVC 提供了一个分层架构,包括 DispatcherServlet、Model、View 和 Controller。DispatcherServlet 负责...

    Spring MVC整合shiro

    Spring MVC 是一款强大的MVC框架,用于构建企业级的Web应用程序,而Apache Shiro则是一款安全框架,负责处理身份验证、授权(权限控制)、会话管理和安全性相关的其他功能。将两者整合可以实现一个完整的基于角色的...

    spring mvc整合shiro登录 权限验证实例下载

    在IT行业中,Spring MVC和Apache Shiro是两个非常重要的框架,它们分别负责Web应用程序的MVC(模型-视图-控制器)架构和安全管理。本文将详细介绍如何整合Spring MVC与Shiro进行用户登录、注销以及权限验证的实例。 ...

    spring mvc+shiro + jpa

    Spring MVC、Shiro 和 JPA 是Java开发领域中三个非常重要的技术组件,它们分别负责不同的功能领域。在本文中,我们将深入探讨这三个技术如何协同工作,构建一个完整的权限管理示例。 **Spring MVC** Spring MVC 是 ...

    Spring-mvc+mybatis+shiro学习demo

    具体实现时,通常会在Spring MVC的配置文件中添加Shiro的Filter,如DelegatingFilterProxy,以便在请求进入控制器之前进行安全检查。同时,会创建一个Shiro配置类,定义Realm(域),将用户、角色和权限关联起来。...

    spring mvc+shiro+mybatis的简单demo

    这是一个基于Spring MVC、Shiro和MyBatis的Java Web应用示例项目,旨在展示如何将这三个框架集成到一起,实现用户认证、授权以及数据库操作。下面将分别介绍这三大框架的核心功能及其在该项目中的作用。 **Spring ...

    spring mvc shiro proxool集成

    Spring MVC、Shiro 和 Proxool 是三个在Java Web开发中常见的开源框架,它们各自扮演着不同的角色。本文将深入探讨如何将这三个组件整合到一起,构建一个安全、高效的开发环境。 Spring MVC 是 Spring 框架的一部分...

    exit-web-framework-master(spring mvc hibernate shiro)

    Spring MVC是Spring框架的一部分,它是一个轻量级的MVC框架,用于构建可维护、可扩展的Web应用。Spring MVC通过DispatcherServlet作为前端控制器,将请求分发到各个处理器,实现了模型-视图-控制器的分离。它支持...

    基于Spring、Spring MVC、MiniJdbc和Shiro的权限管理系统LarvaFrame设计源码

    本项目是基于Spring、Spring MVC、MiniJdbc和Shiro开发的权限管理系统LarvaFrame设计源码,包含436个文件,其中包括145个Java源文件,92个JavaScript文件,30个PNG图片,30个CSS样式文件,27个GIF图片,24个XML文件...

    spring mvc、apache shiro、mysql 框架搭建,基于maven构建

    在Spring MVC和Apache Shiro的环境中,开发者可以通过JDBC或MyBatis等持久化框架与MySQL进行交互,执行CRUD操作(创建、读取、更新、删除),并利用事务管理确保数据一致性。 **Maven** Maven是Java项目管理工具,...

    基于maven构建 spring mvc + apache shiro + mysql 框架搭建

    本文将深入探讨如何使用Maven作为构建工具,结合Spring MVC作为MVC框架,Apache Shiro作为安全管理组件,以及MySQL作为数据库来搭建这样的系统。这四个技术组件都是Java开发中的热门选择,它们各自在应用程序的不同...

    shiro+spirngmvc 验证 IntelliJ IDEA

    通过以上步骤,我们能够构建一个基于Spring MVC和Shiro的角色权限验证系统。这个系统不仅可以进行用户的身份验证,还可以根据用户的角色和权限来限制对特定资源的访问,从而保证了Web应用的安全性。对于初学者来说,...

    Spring MVC+mybatis+easyui+ueditor+shiro权限框架管理系统

    《构建基于Spring MVC+MyBatis+EasyUI+UEditor+Shiro的权限管理框架系统》 在现代企业级Web应用开发中,高效、安全、易维护的框架选择至关重要。本项目采用Spring MVC、MyBatis、EasyUI、UEditor以及Shiro这五大...

    框架基于spring MVC Mybatis权限框架用的是shiro前端使用jsp技术项目资源VEN.zip

    框架基于spring MVC Mybatis权限框架用的是shiro前端使用jsp技术项目资源VEN

    框架基于spring MVC Mybatis权限框架用的是shiro前端使用jsp技术项目资源VE.zip

    框架基于spring MVC Mybatis权限框架用的是shiro前端使用jsp技术项目资源VE

    spring、springmvc、shiro集成空框架

    SpringMVC是Spring框架的Web模块,它是基于模型-视图-控制器(MVC)设计模式的。在SpringMVC中,请求由DispatcherServlet处理,然后分发给处理器映射器,找到对应的控制器方法执行。执行结果经过视图解析器转化为...

    管理系统系列--基于Spring MVC+MyBatis+Shiro+Dubbo开发的分布式后台管理系统.zip

    《基于Spring MVC+MyBatis+Shiro+Dubbo的分布式后台管理系统详解》 在现代企业级应用开发中,构建高效、稳定且可扩展的后台管理系统是至关重要的。本系统采用了业界广泛使用的四大核心技术——Spring MVC、MyBatis...

    spring mvc、mybatis、bootstrap、shiro 框架整合开发网上求职招聘毕业设计系统、带mysql数据库

    本项目是一个基于Spring MVC、MyBatis、Bootstrap和Shiro框架整合开发的网上求职招聘系统,同时集成了MySQL数据库,适用于毕业设计或实战演练。这个系统涵盖了完整的前后端功能,旨在提供一个高效、用户友好的在线...

    spring mvc-redis-shiro

    在"spring mvc-redis-shiro"项目中,你可以看到Spring MVC如何配置、如何创建控制器以及如何与视图模板(如JSP)交互。 其次,Redis是一个高性能的键值存储系统,常被用作数据缓存。在Web应用中,Redis可以帮助我们...

Global site tag (gtag.js) - Google Analytics