spring security框架中,通过<@sec.authentication property="name" />标签默认只能获取到name这个属性,那如果要获取其它属性要怎么获取呢?
其实通过sec这个标签获取到的对象就是org.springframework.security.authentication.UsernamePasswordAuthenticationToken,这个类中是有我们需要的用户信息的对象的:
public class UsernamePasswordAuthenticationToken extends AbstractAuthenticationToken {
//~ Instance fields ================================================================================================
private final Object principal;
private Object credentials;
}
就是principal这个属性了,所以如果想通过标签获取用户信息,比如你的用户信息中有一个叫nickName的属性,就可以这样获取
<@sec.authentication property="principal.nickName" />