Согласно этой записи списка рассылки , фильтры пересылки должны вызываться при пересылке.который эффективно вызывает фильтры 1 + x number of forwards
.
Однако в моей ситуации я подвергаю сомнению метод, как это сделать.Вот грубое мэшап моей системы:
- у меня есть фильтр, который вызывается при условии uri
"/api/**"
- URL-адреса, который выглядит примерно так:
"/api/$version/$apiKey/$rest**"
$rest
может содержать (в качестве примера) значение /book/show/1
- ApiController, единственной целью которого является перенаправление на другой URI в зависимости от
$rest
Итак, допустим, я получаю доступ к URL /api/0.1/Ks38...7fn38/book/show/1
, и тогда происходит то, что вызывается фильтр api, и он выполняет всю проверку версии и apiKey.затем он продолжает пересылку к uri /book/show/1
, который затем вызывает фильтр Api во второй раз, даже если фильтр сопоставлен с /api/**
, а новый uri фактически равен /book/...
.Теперь позвольте мне сказать, что я согласен с тем, что фильтры должны вызываться на форварде, но я не согласен с тем, что фильтр API должен вызываться во второй раз, когда я выполняю форвард на /book...
Это может 'правильное поведение?может это?