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安全框架入门篇(登录验证实例详解与源码)

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

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Springmvc整合shiro安全框架的教程

shiro: shiro是apache开源的安全框架,可以方便用来处理用户信息认证、用户授权控制、信息加密等功能,因为其小巧而功能强大在很多SSM架构的web应用系统中被广泛采用,shiro的架构...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

一、Shiro+Spring+Struts2集成演示权限控制Demo示例

更好的理解shiro安全框架的好demo,不容错过~~

shiro简单配置

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

SpringMVC+Shiro整合配置文件详解

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

Shiro的配置与使用

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

shiro基本配置

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

菜鸟级别的Shiro配置、使用案例(一)

菜鸟级别的Shiro配置、使用案例(一)菜鸟级别的Shiro配置使用案例一 一配置环境 1使用Java SE环境的配置此 2使用Java EE环境的配置此 3不会使用maven的看我上一篇教程 4懒得...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shiro安全框架的简单配置
举报原因:
原因补充:

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