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

Shiro——配合SpringMVC

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

Shiro——配合SpringMVC

文章目录

项目准备

SpringMVCShiro 配置Shiro拦截器配置控制器测试效果番外:开启注解

项目准备 SpringMVC

搭建一个SpringMVC项目,见:SpringMVC——入门案例


引入JSON

2.9.0


    com.fasterxml.jackson.core
    jackson-core
    ${jacksonV}


    com.fasterxml.jackson.core
    jackson-databind
    ${jacksonV}


    com.fasterxml.jackson.core
    jackson-annotations
    ${jacksonV}

mvc.xml,此处解决的是text/plain的乱码问题。


    
        
            
        
    

Shiro

依赖


    org.apache.shiro
    shiro-core
    1.3.2


    org.apache.shiro
    shiro-ehcache
    1.3.2


    org.apache.shiro
    shiro-spring
    1.3.2


    org.apache.logging.log4j
    log4j-web
    2.17.1


    org.apache.logging.log4j
    log4j-slf4j-impl
    2.17.1


    org.ehcache
    ehcache
    3.9.0


    junit
    junit
    4.13.2
    test


    org.projectlombok
    lombok
    RELEASE
    compile

其他文件

UserDaoUserMyRealmShiroUtil
见往期:Shiro——自定义Realm 配置Shiro拦截器

spring-shiro.xml中:

一个SM,一个Filter


    
        
    
    
        
    


    
    
    
        
            /hello anon
            /login anon
            /logout logout
            /** user
        
    


引入之:


web.xml中:


    shiroFilter
    org.springframework.web.filter.DelegatingFilterProxy
    
        targetFilterLifecycle
        true
    


    shiroFilter
    mvc

这里的拦截器名要和Bean一致。

配置控制器
@RestController
public class HelloController {

	@RequestMapping(value = "/hello")
	public String hello() {
		return "主页,无需权限";
	}

	@RequestMapping(value = "/form")
	public String form() {
		return "请登陆";
	}

	@RequestMapping(value = "/info")
	public String info() {
		return "信息页,需要权限";
	}

	@RequestMapping(value = "/login")
	public String login() {
		ShiroUtil.login("abc", "123");
		return "登陆完成";
	}

	@RequestMapping(value = "/logout")
	public String logout() {
		return "退出完毕";
	}
}

/form:自动跳转的登陆页面。

/hello:主页,无需登陆。
/info:信息页,需要登陆。

/login:登陆接口。
/logout:登出接口。

测试效果

/hello

主页,无需权限

任何其他路由都会跳转到/form

请登陆

/login

登陆完成

/info

信息页,需要权限

/hello

主页,无需权限

/logout

请登陆
番外:开启注解

依赖:AOP


    org.springframework
    spring-aspects
    ${springV}

容器配置



    

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

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

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