SpringBoot中使用Shiro注解模式无效

已经在ShiroConfig中开启了注解模式

//开启shiro aop注解支持
    @Bean
    public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager){
        System.out.println("开启了Shiro注解支持");
        AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
        authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
        return authorizationAttributeSourceAdvisor;
    }

下面是使用注解部分的代码

@RequestMapping(method = RequestMethod.GET)
    @RequiresGuest
    public String list(){
        return "list:不需要权限验证";
    }


    @RequestMapping(method = RequestMethod.POST)
    @RequiresAuthentication
    public String save(){
        return "save:需要权限验证";
    }

但是访问post方法依然可以得到数据,之前并没有进行身份验证。
请问这是怎么回事?

阅读 9.6k
1 个回答

还需要加上以下代码:

@Bean
    @ConditionalOnMissingBean
    public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() {
        DefaultAdvisorAutoProxyCreator defaultAAP = new DefaultAdvisorAutoProxyCreator();
        defaultAAP.setProxyTargetClass(true);
        return defaultAAP;
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题