Я пытаюсь получить авторизацию для моего RestAPI, допустив перехватчик Spring (HandlerInterceptorAdapter). Метод PreHandle проверяет, требуется ли пользователю роль в требуемой роли, прежде чем область охватит запрошенное действие в контроллер. Однако для этого требуется, чтобы каждое действие (URL-путь) указывало идентификатор требуемой роли. Это моя текущая настройка:Добавление параметров в Spring MVC Interceptor
public class AuthorizationInterceptor extends HandlerInterceptorAdapter{
@Autowired
IUserService us;
//before the actual handler will be executed
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler, Integer roleId)
throws Exception {
String userId = request.getHeader("UserId");
if(!us.isUserInRole(Long.parseLong(userId), roleId))
return false;
return true;
}
}
А (часть) сервлет-context.xml:
<interceptors>
<interceptor>
<mapping path="/" />
<mapping path="https://stackoverflow.com/users/**" />
<beans:bean class="com.lumi.api.interceptors.AuthorizationInterceptor"></beans:bean>
</interceptor>
</interceptors>
Мой вопрос, я могу кастрированный баран передать в параметре с Идентификатор роли bean в конфигурации servlet-context. Кажется, я ничего не могу найти в документах. Я думаю, что однажды увидел что-то вроде:
<mapping path="/" />
<parameter name="something" value="some value">
Но я не уверен.
Совершенных. Это было именно то, что мне нужно. Спасибо! – MichaelCleverly