Search code examples
vaadinvaadin7

Vaadin 7 security code placement


In my Vaadin 7 application I have to add Delete button, but this button should be only accessible to an authorized person.

I have added the button with a following code:

if (canRemove()) {
    layout.addComponent(createRemoveButton());
}

Also I have added a listener to this button:

button.addClickListener(e -> {
    //some logic
});

Do I need to add one more condition inside of this listener:

button.addClickListener(e -> {
    if (canRemove()) {
        //some logic
    }
});

or this condition is redundant and I can avoid it ?


Solution

  • Summarizing the comments on the question:

    It's redundant, no button, no click event. Alternative is hiding the button like button.setVisible(isAuthorized(user)) if not authorized.