【发布时间】:2016-01-04 21:33:12
【问题描述】:
自定义权限评估器
@Component
public class EventWritePermissionEvaluator implements PermissionEvaluator{
@Override
public boolean hasPermission(Authentication authentication,
Object targetDomainObject, Object permission) {
return true;
}
@Override
public boolean hasPermission(Authentication authentication,
Serializable targetId, String targetType, Object permission) {
return true;
}
}
@PreAuthorize("hasPermission(#event,'write')")
@RequestMapping(value="/events/{id}/start")
@ResponseBody
public Map<String, Object> eventStart(@RequestBody Event event, @PathVariable("id") int id, HttpServletRequest request, HttpServletResponse response) throws MessagingException
{
event.setId(id);
return eventService.eventStart(event, request, response);
}
在上面的示例中,我将事件对象发送给权限评估器,在它之前放置一个“#”。为什么 ”#”?我如何只发送 id 而不是对象?
【问题讨论】:
标签: spring spring-mvc spring-security