spring security有标签或有什么方法能在jsp页面中取出角色名吗(不是权限名!)?

2025-05-23 13:04:19
推荐回答(2个)
回答1:

所有连接跳转到同一个action, action中根据角色去分发任务,这样的安全不是更好吗

同时在这个action中,还可以进行某些特定行为的处理

回答2:

标签sec ,没有id属性,要获取id可能需要做一次查询。这个user对象里一共就这几个属性,话说 authorities 不就是此用户所有的角色吗?这个问题意思是获取定义的access信息吗?
你要搞清楚角色和权限的关系。权限是对角色可访问的资源的定义
这个 principal 其实就是获取了core.userdetails.User 这个对象,UserDetailsService.loadUserByUsername(String username)在这个方法里你放了什么它就会有什么
<%@ taglib prefix="sec" uri="





core.userdetails.User 对象里定义的属性
this.username = username; //用户名
this.password = password;//密码(明文)
this.enabled = enabled;//是否被激活
this.accountNonExpired = accountNonExpired;
this.credentialsNonExpired = credentialsNonExpired;
this.accountNonLocked = accountNonLocked;
this.authorities = Collections.unmodifiableSet(sortAuthorities(authorities));//用户权限(这是一个集合,一个用户可以有多个角色——>权限 )