shiro安全框架的简单配置

原创 2016年08月29日 14:29:30

参考文章:http://www.cnblogs.com/lixj/p/3403584.html

                    http://www.tuicool.com/articles/AFFBre

一、导入shiro相关jar (1.2.3.jar)

shiro-core
shiro-web
shiro-spring
shiro-ehcache


二、在web.xml配置shiroFilter

      

<filter>
    <filter-name>shiroFilter</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    <init-param>
      <param-name>targetFilterLifecycle</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>shiroFilter</filter-name>
    <url-pattern>/*</url-pattern>

       注意:如果使用struts过滤器一定要把shiroFilter放在strutsFilter前面

三、在spring中配置shiro

 <!--自定义Realm 继承自AuthorizingRealm -->
	     <bean id="myRealm" class="com.jmt.webapp.realm.myRealm" />
	     <!-- 添加securityManager -->
         <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
		<!--设置自定义realm -->
		<property name="realm" ref="myRealm" />
	     </bean>
       <!-- Shiro主过滤器本身功能十分强大,其强大之处就在于它支持任何基于URL路径表达式的、自定义的过滤器的执行 -->
         <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean" >
         <!-- Shiro的核心安全接口,这个属性是必须的 -->  
		<property name="securityManager" ref="securityManager" />
           <!-- 要求登录时的链接,非必须的属性,默认会自动寻找Web工程根目录下的"/login.jsp"页面 -->  
		<property name="loginUrl" value="/login.jsp" />
		<!-- 用户访问未对其授权的资源时,所显示的连接 -->
		<property name="unauthorizedUrl" value="/error/noperms.jsp" />
		<property name="filterChainDefinitions">
			<value>
				<!-- 
					Anon:不指定过滤器 
					Authc:验证,这些页面必须验证后才能访问,也就是我们说的登录后才能访问。
				-->
				/login.jsp* = anon
				/login.do* = anon
				/index.jsp*= anon
				/error/noperms.jsp*= anon
				/*.jsp* = authc
				/*.action* = authc
			</value>
		</property>
	</bean>
	<bean id = "cacheManager" class = "org.apache.shiro.cache.ehcache.EhCacheManager" />

四、编写自己Realm

public class myRealm extends AuthorizingRealm{

	//依赖注入
	private UserService userService;
	
	public void setUserService(UserService userService) {
		this.userService = userService;
	}<pre name="code" class="java">  //权限认证<pre name="code" class="java">   protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
<span>	</span>}
        <pre name="code" class="java"> //登录验证
     <pre name="code" class="java">  protected AuthenticationInfo doGetAuthenticationInfo(
<span>			</span>AuthenticationToken authcToken) throws AuthenticationException {
                }




五、登录校验

                         Subject currentUser = SecurityUtils.getSubject();
			 System.out.println(user.getUserLoginName()+user.getUserPassword()+"4354545");
			 UsernamePasswordToken token = new UsernamePasswordToken(user.getUserLoginName(),user.getUserPassword());
			 token.setRememberMe(true);
			 try {  
				 currentUser.login(token);  
				 } catch (UnknownAccountException ex) {
                      System.out.println("用户名没有找到");
				 } catch (IncorrectCredentialsException ex) {//用户名密码不匹配。  
					 System.out.println("用户名密码不匹配");
				 }catch (AuthenticationException e) {//其他的登录错误  
					 System.out.println("其他的登录错误");
				 }


六、权限校验

        Subject currentUser = SecurityUtils.getSubject();
    	 
    	 if(currentUser.isPermitted("URL")){
    		 System.out.println("验证成功");
    	 }


shiro简单配置

注:这里只介绍spring配置模式。 因为官方例子虽然中有更加简洁的ini配置形式,但是使用ini配置无法与spring整合。而且两种配置方法一样,只是格式不一样。 涉及的jar包 ...
  • clj198606061111
  • clj198606061111
  • 2014年04月20日 16:46
  • 100380

SpringMVC+Shiro整合配置文件详解

在项目中xml文件的配置是必不可少的,特别是SpringMVC框架。但是几乎所有项目的配置都是大同小异,很多人都是直接复制黏贴了事,不少人对其具体含义及用途都不甚全知。本片文章将正对项目中常用的框架S...
  • dawangxiong123
  • dawangxiong123
  • 2016年11月03日 12:51
  • 15795

Shiro的两种配置方式

Apache Shiro是一款Java 安全框架,可以用于完成认证、授权、加密、会话管理、与Web集成、缓存等功能。根据官方文档,我这里列举出两种常用的配置方式,一是ini文件配置,二是spring ...
  • u013248535
  • u013248535
  • 2017年01月10日 18:01
  • 1318

Shiro的配置与使用

授权操作 ①在doGetAuthorizationInfo该方法中,我们将所有有权限访问的路径放到SimpleAuthorizationInfo 对象中 info.setStringPermissio...
  • king866
  • king866
  • 2016年12月22日 13:23
  • 1290

SpringMVC+Shiro配置

1、第一步当然是要引入jar包啦,至于jar包就不上传了,百度一下有很多 2、配置shiro配置文件 ...
  • TOP_Y
  • TOP_Y
  • 2016年03月07日 16:31
  • 2053

Shiro的Web项目配置

一 shiro的学习 二 shiro的java客户端配置 三.关于权限的一些问题 一 shiro的学习 1.在web.xml中配置shiro的过滤器 shiroFilter ...
  • Jintao_Ma
  • Jintao_Ma
  • 2017年06月04日 23:31
  • 553

springmvc + shiro 配置(一、结构及配置文件)

springmvc + shiro 配置 最近自己做的项目框架升级之后,一直没有时间来整理一个完整的配置笔记,大都是一些小问题,这两天项目得空,刚好整理一下,顺便也修正一下配置文件中的冗余配置和不规...
  • MrEmotion
  • MrEmotion
  • 2015年10月16日 18:05
  • 2218

shiro基本配置

shiro:web配置 contextConfigLocation classpath:spring-shiro.xml 加载shiro配置文件 ...
  • ksj_j
  • ksj_j
  • 2017年01月21日 15:30
  • 694

Shiro安全框架入门篇(登录验证实例详解与源码)

一、Shiro框架简单介绍Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证,授权,企业会话管理和...
  • u013142781
  • u013142781
  • 2016年02月03日 15:23
  • 79327

shiro安全框架扩展教程--如何动态修改资源权限不需要重启项目

大家好,感觉好长时间没有上来更新博客的样子,
  • shadowsick
  • shadowsick
  • 2014年09月02日 09:41
  • 25232
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shiro安全框架的简单配置
举报原因:
原因补充:

(最多只允许输入30个字)