栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Shiro与SSM的整合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Shiro与SSM的整合

1、创建SSM项目,导入必要的jar包以及shiro的包

	
        UTF-8
        1.8
        1.8
        1.2.2
        5.2.15.RELEASE
    

导包:


        
            junit
            junit
            4.11
            test
        
        
            org.springframework
            spring-context
            ${spring.version}
        
        
            org.springframework
            spring-core
            ${spring.version}
        
        
            org.springframework
            spring-beans
            ${spring.version}
        
        
            org.springframework
            spring-expression
            ${spring.version}
        
        
            org.springframework
            spring-web
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        
        
            org.apache.shiro
            shiro-core
            ${shiro.version}
        
        
            org.apache.shiro
            shiro-web
            ${shiro.version}
        
        
            org.apache.shiro
            shiro-spring
            ${shiro.version}
        
        
            org.apache.commons
            commons-lang3
            3.12.0
        
        
            commons-io
            commons-io
            2.11.0
        
        
            javax.servlet
            javax.servlet-api
            4.0.1
            provided
        
        
            jstl
            jstl
            1.2
        
    
   
        UTF-8
        1.8
        1.8
        1.2.2
        5.2.15.RELEASE
    
    
        
            junit
            junit
            4.11
            test
        
        
            org.springframework
            spring-context
            ${spring.version}
        
        
            org.springframework
            spring-core
            ${spring.version}
        
        
            org.springframework
            spring-beans
            ${spring.version}
        
        
            org.springframework
            spring-expression
            ${spring.version}
        
        
            org.springframework
            spring-web
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        
        
            org.apache.shiro
            shiro-core
            ${shiro.version}
        
        
            org.apache.shiro
            shiro-web
            ${shiro.version}
        
        
            org.apache.shiro
            shiro-spring
            ${shiro.version}
        
        
            org.apache.commons
            commons-lang3
            3.12.0
        
        
            commons-io
            commons-io
            2.11.0
        
        
            javax.servlet
            javax.servlet-api
            4.0.1
            provided
        
        
            jstl
            jstl
            1.2
        
    

2、编辑SSM的配置文件,创建Shiro的配置文件

applicationContext.xml:

	
        
    

spring-mvc.xml:


    

    
        
    

    

    
        
        
        
    

spring-shiro.xml:


        
        
        
        
            
                /logout = logout
                /** = authc
            
        
    
    
        
    
    

web.xml中的配置:



  Archetype Created Web Application
    
        contextConfigLocation
        
            classpath:applicationContext.xml,
            classpath:spring-shiro.xml
        
    
    
        org.springframework.web.context.ContextLoaderListener
    
    
        CharacterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
    
    
        CharacterEncodingFilter
        /*
    
    
        shiroFilter
        org.springframework.web.filter.DelegatingFilterProxy
        
            
            targetFilterLifecycle
            true
        
    
    
        shiroFilter
        /*
    
    
        dispatcher
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        1
    
    
        dispatcher
        /
    

3、写一个标准的Controller

@RequestMapping(value = "/index")
    public String index(HttpServletRequest request, Model mv) {
        return "/index";
    }
    @RequestMapping(value = "/login")
    public String login(HttpServletRequest request, Model mv) {
        String e =  (String) request.getAttribute("shiroLoginFailure");
        System.out.println(e);
        if (e != null) {
            mv.addAttribute("msg", e);
        }
        return "/login";
    }

写一个用户源:

public class UserRealm extends AuthorizingRealm {
    @Override
    protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
        return null;
    }
    @Override
    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
        String username = (String)authenticationToken.getPrincipal();
        if (!StringUtils.equals(username, "zhangsan")) {
            return null;
        }
        return new SimpleAuthenticationInfo(username, "123456", getName());
    }
}

写两个jsp页面:
login.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


    Login Page
    



    

${msg}

username :
password :

index.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


    

Hello World

至此,启动tomcat,然后在浏览器输入localhost:8080/shiro/index验证
由于没有登陆,会先跳转localhost:8080/shiro/login,进行登录,登录成功后,可以输入localhost:8080/shiro/logout进行注销操作

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/276792.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号