Передача параметров между ViewScoped

У меня есть два управляемых компонента типа @ViewScoped. Бин перечисляет элементы пользователя. Другой показывает расширенную информацию об элементе. Я передаю идентификатор элемента по URL-адресу, это единственный способ, которым он работал с компонентом viewscoped.

Но мне не нравится этот способ, потому что пользователь может попытаться изменить URL-адрес значений и увидеть элементы от другого пользователя. Интересно, есть ли какой-либо способ передачи параметров между страницами, который пользователь не видит, и избежать дополнительной проверки безопасности.


person user60108    schedule 19.10.2015    source источник
comment
Пожалуйста, посмотрите stackoverflow.com/questions/20880027/ ИЛИ stackoverflow.com/questions/16817395/ ИЛИ вот @Balusc stackoverflow.com/questions/25694423/   -  person Subodh Joshi    schedule 19.10.2015


Ответы (1)


Если предлагаемая область флэш-памяти недоступна, другим способом сделать это без дополнительной проверки безопасности будет использование @SessionScoped аннотированного bean-компонента. Но, пожалуйста, убедитесь, что bean-компонент с областью действия сеанса содержит только необходимые данные, иначе вы столкнетесь с другими проблемами.

Например:

@SessionScoped
public class AccessibleItems {

    private List<Items> items; // or private List<Integer> itemIds;

} 

а также

@ViewScoped
public class ItemView  {

   @ManagedProperty(value="#{accessibleItem}")
   private AcessibleItems accessibleItems;

}

Но ведь по моему скромному мнению делают дополнительную проверку безопасности. Потому что у вас не возникнет проблем с обновлением данных, особенно если вы используете их во многих местах, а дизайн вашего URL-адреса лучше.

person Paul Wasilewski    schedule 19.10.2015