zoukankan      html  css  js  c++  java
  • shiro使用

    web.xml配置

    	<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>
    	</filter-mapping>
    

    shiro.xml配置

    <!-- Shiro 的Web过滤器 -->
    	<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
    		<property name="securityManager" ref="securityManager" />
    		<!-- 如果没有认证将要跳转的登陆地址,http可访问的url,如果不在表单认证过虑器FormAuthenticationFilter中指定此地址就为身份认证地址 -->
    		<property name="loginUrl" value="/login.action" />
    <!-- 没有权限跳转的地址 -->
    		<property name="unauthorizedUrl" value="/refuse.jsp" />
    <!-- shiro拦截器配置 -->
    		<property name="filters">
    			<map>
    				<entry key="authc" value-ref="formAuthenticationFilter" />
    			</map>
    		</property>
    		<property name="filterChainDefinitions">
    			<value>
    				<!-- 必须通过身份认证方可访问,身份认 证的url必须和过虑器中指定的loginUrl一致 -->
    				/loginsubmit.action = authc
    				<!-- 退出拦截,请求logout.action执行退出操作 -->
    				/logout.action = logout
    				<!-- 无权访问页面 -->
    				/refuse.jsp = anon
    				<!-- roles[XX]表示有XX角色才可访问 -->
    				/item/list.action = roles[item],authc
    				/js/** anon
    				/images/** anon
    				/styles/** anon
    				<!-- user表示身份认证通过或通过记住我认证通过的可以访问 -->
    				/** = user
    				<!-- /**放在最下边,如果一个url有多个过虑器则多个过虑器中间用逗号分隔,如:/** = user,roles[admin] -->
    
    			</value>
    		</property>
    	</bean>
    
    
    	<!-- 安全管理器 -->
    	<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
    		<property name="realm" ref="userRealm" />	
    	</bean>
    
    	<!-- 自定义 realm -->
    	<bean id="userRealm" class="cn.itcast.ssm.realm.CustomRealm1">
    	</bean>
    	<!-- 基于Form表单的身份验证过滤器,不配置将也会注册此过虑器,表单中的用户账号、密码及loginurl将采用默认值,建议配置 -->
    	<bean id="formAuthenticationFilter"
    		class="org.apache.shiro.web.filter.authc.FormAuthenticationFilter">
    		<!-- 表单中账号的input名称 -->
    		<property name="usernameParam" value="usercode" />
    		<!-- 表单中密码的input名称 -->
    		<property name="passwordParam" value="password" />
    		<!-- <property name="rememberMeParam" value="rememberMe"/> -->
    		<!-- loginurl:用户登陆地址,此地址是可以http访问的url地址 -->
    		<property name="loginUrl" value="/loginsubmit.action" />
    	</bean>
    

      自定义realm继承AuthorizingRealm

  • 相关阅读:
    【CentOS 6.5】QtCreator启动时关于dbus-1的错误解决方法
    【CentOS 6.5】 Qt Creator 启动失败
    C# mvc3 mvc4 伪静态及IIS7.5配置
    【水果大全】快看,你属于哪种水果身材?
    一首《放下》最近火了!
    【情感励志】不必仰望别人,自己亦是风景
    java JDBC连接 Sqlserver 非默认的实例名问题
    后台:酒店客服订单管理.把订单编号:1290939 从取消状态恢复确认有房状态(待发单状态)
    PHP安装环境搭建
    表操作汇总(复制,删除,修改,插入,查询及数据库的复制)
  • 原文地址:https://www.cnblogs.com/zhoucx66/p/9252519.html
Copyright © 2011-2022 走看看