Разрешения Пользователя - Jsf - PrimeFaces

Привет у Меня Есть следующий случай, Я нуждаюсь в том, чтобы дать возможность или вывести компоненты PrimeFaces из строя имея в виду разрешения, распределенные в Базе данных, большая часть примеров - из-за страниц в этом случае я требую контролировать компоненты например:

Я имею таблицу разрешения по отношению к пользователю в основании данных, присоединенный:

Пользователь: Педро
Экран: Пользователи
Компонент: BotonGuardar
Разрешение: Если / Нет

Если у пользователя есть разрешение =, Если, disabled = "false"

<p:commandButton value="Disabled" id="BotonGuardar" disabled="false" />

Если разрешение = Не, disabled = "true"

<p:commandButton value="Disabled" id="BotonGuardar" disabled="true" />

Идея состоит в том, чтобы контролировать это поведение с Bean для каждого пользователя. Спасибо

0
задан 08.08.2017, 08:23
3 ответа

Смоги использовать Экспрессион Лангвахе следующего способа, принимая, что разрешение хранился в переменной boolean в managed bean имени разрешение с Вашими соответствующими getter and сеттер, и что facelet указывает на managed bean имени bean:

, Видные

<p:commandButton value="Disabled" id="BotonGuardar" disabled="#{bean.permiso}" />

ManagedBean

 @ManagedBean
 public class Bean{
      private boolean permiso;

       public boolean getPermiso(){
            return permiso;
       }
       public void setPermiso(boolean permiso){
           this.permiso = permiso;
       } 
 }
1
ответ дан 29.10.2019, 23:53

Элегантный способ это делать состоит в том, чтобы определять один mГ©todo genГ©rico, что был занят тем, что согласился на BD на основании переменной component и на пользователя:

<p:commandButton value="Disabled" id="BotonGuardar" disabled="#{seguridad.debeDeshabilitarse(component.id)}" />

component - переменная, которая загружается способом automГЎtica с нею informaciГіn компонента (я даю из-за факта, что ты используешь JSF 2).

AsГ, - podrГ-схвати тебе создавать класс Безопасность, которая возвращала бы sesiГіn, или где ты считал хранившимся пользователя, и присоединитесь в BD, чтобы подтверждать, должен появляться ли или нет компонент.

@ManagedBean
public class Seguridad implements Serializable{
    public Boolean debeDeshabilitarse(String componentId){
        MiDAO dao = getDao();
        Usuario usuario = getUsuario();
        return dao.debeDeshabilitarse(componentId, usuario);
    }
}

И в BD tendrГ-схвати таблицу с первичным ключом (Компонент, Пользователь), который облегчал ее тебе informaciГіn.

Таким образом podrГ-схвати повторно использовать ее funciГіn из-за всего она aplicaciГіn способа cГіmoda и равная во всех случаях.

1
ответ дан 29.10.2019, 23:53

Если то, в чем ты нуждаешься, он состоит в том, чтобы санкционировать, если должен быть данным возможность или нет bot¦n, то, что ты должен делать, состоит в том, чтобы создавать один método в bean, который возвращает true или false, и потом распределять это в этикетке, ej:

//  XHTML
<p:commandButton value="Disabled" id="BotonGuardar" 
    disabled="#{miBean.validacion()}" // Debe devolver true o false

//  Bean
...
    public Boolean validacion(){
      return true;
    }
...

Надеялся, что мой ответ помог тебе, привет.

0
ответ дан 29.10.2019, 23:53

Теги

Похожие вопросы