我有一个User
实体,每个存在的用户都应该有 1 个或多个特定的角色/权限。例如admin
user
等等。所以我创建了一个authorities
包含 2 个字段(username
和authority
)的表application-context-securtiy.xml
<jdbc-user-service id="userService" data-source-ref="dataSource"
users-by-username-query="
select nickname, password, true from users where nickname=?"
authorities-by-username-query= "select username, authority AS authorities
from authorities where username=?"
/>
这工作得很好。
现在我正在尝试创建一个 jsp 文件,其中列出了我的所有用户及其角色/权限,但我无法做类似的事情user.getAuthorites()
并在 jsp 中打印它们。
我已经尝试实现了UserDetailsService
,但我不知道如何连接我的用户和 UserDetailsService。
希望你能给我一些建议。
编辑:jsp的一部分我想如何使用它:
<tbody>
<c:forEach var="user" varStatus="stats" items="${users}">
<tr>
<td>
<c:out value="${user.nickname}" />
<c:forEach var="role" varStatus="status_" items="${user.getAuthorities()}">
<c:out value="${role}" />
</c:forEach>
</td>
<td>test</td>
<td>options</td>
</tr>
</c:forEach>
</tbody>
我如何将数据从控制器发送到我的视图:
@RequestMapping(value = "/manageUsers", method = RequestMethod.GET)
public String startManageUsers(ModelMap model, Principal principal) {
List<User> list = userService.getUsers();
model.addAttribute("users", list);
return "showUsers";
}