一、shiro访问权限
1.如何规定访问权限?
@RequiresPermissions
参数是否只是简单的字符串匹配?(未解决)
2.如何指定对应用户的访问权限?
(1)doGetAuthorizationInfo中有getMenuList()函数,该函数获取当前user所拥有的menu。
1当前user何时指定?
在doGetAuthenticationInfo中生成Principal(user)。
从此就能通过subject.getPrincipal取出,也能在doGetAuthorizationInfo当参数中。
(2)接着通过addStringPermission添加到subject里
(3)当@RequriesPerminssions时从subject中取出验证

二、cache
1.在UserUtils中

三、page

四、取rolelist和menulist

1.各种hibernate的annotation
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "sys_role_menu", joinColumns = { @JoinColumn(name = "role_id") }, inverseJoinColumns = { @JoinColumn(name = "menu_id") })
@Where(clause="del_flag='"+DEL_FLAG_NORMAL+"'")
@OrderBy("id") @Fetch(FetchMode.SUBSELECT)
@NotFound(action = NotFoundAction.IGNORE)
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)

五、aop
六、多个filter或realm
//1不同url对应不同的realm??
2定义两个shirofilter

七、log日志
1.LogInterceptor中有简单的日志记录