У меня есть объект 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
, но я не знаю, как подключить мой User и UserDetailsService.
Надеюсь, вы можете дать мне несколько советов.
Edit: часть СПЯ, как я хотел бы использовать:
<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";
}
Вы можете показать свой код JSP? – Qwerky
'items =" $ {user.getAuthorities ('} "'? Удалить missmatched paren и' в конце. Кроме того, вы, вероятно, хотите 'items = '$ {user.authorities}" ' – Xaerxess
Да, это была просто опечатка. .. Я не знаю, как реализовать материал, который будет работать таким образом вообще – soupdiver