Shiro——配合SpringMVC

Shiro——配合SpringMVC,第1张

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}

容器配置


    

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5721538.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-18
下一篇2022-12-18

发表评论

登录后才能评论

评论列表(0条)

    保存