Maybe this can help you:
Code:
GrantedAuthorityImpl authority = new GrantedAuthorityImpl("ROLE_NEWROLE");
SecurityContextHolder.getContext().setAuthentication(
new UsernamePasswordAuthenticationToken(
SecurityContextHolder.getContext().getAuthentication().getPrincipal(),
SecurityContextHolder.getContext().getAuthentication().getCredentials(),
new GrantedAuthority[]{authority})
);
This code change the granted Authority dinamicaly, so you can get all the authorities that the principal has and Create a new GrantedAuthority array an put your new(s) authoritie(s) in this array