@RequiresPermissions作为自定义注解属性不生效问题

bbsd963 2017-07-02 12:31:47
自定义注解
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface SecurityMapping {
/**
* Apache Shiro 注解方式授权
*/
RequiresPermissions requiresPermissions();
/**
* 权限名称
*/
String title() default "";
/**
* 权限值
*/
String value() default "";
/**
* 角色名称
*/
String rname() default "";
/**
* 角色编码
*/
String rcode() default "";
/**
* 角色分组
*/
String rgroup() default "";
/**
* 角色类型
*/
String rtype() default "";
}


使用时不生效
//@RequiresPermissions("sys:menu:wocao")
@SecurityMapping(requiresPermissions = @RequiresPermissions("sys:menu:wocao"),value = "菜单管理",rtype="ADMIN")
@RequestMapping(value = {"list", ""})
public String list(Model model) {
List<Menu> list = Lists.newArrayList();
List<Menu> sourcelist = systemService.findAllMenu();
Menu.sortList(list, sourcelist, Menu.getRootId(), true);
model.addAttribute("list", list);
return "modules/sys/menuList";
}


@RequiresPermissions没有生效,求大神告知下什么原因吧
...全文
611 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这是因为没有开启spring拦截器,在spring-mvc.xml中加入以下代码就可以了(一定要写在最先加载的xml中,写在后面加载的xml中也不起作用) <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor" /> <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor"> <property name="securityManager" ref="securityManager" /> </bean>
bbsd963 2017-07-02
  • 打赏
  • 举报
回复
自己给自己顶下

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧