Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into fix/mid-4251
Browse files Browse the repository at this point in the history
  • Loading branch information
mederly committed Dec 14, 2017
2 parents 44a76e0 + 27af234 commit caaa84a
Show file tree
Hide file tree
Showing 16 changed files with 178 additions and 123 deletions.
Expand Up @@ -60,12 +60,15 @@
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import org.apache.wicket.ajax.form.AjaxFormSubmitBehavior;
import org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
import org.apache.wicket.authroles.authentication.AuthenticatedWebApplication;
import org.apache.wicket.core.request.mapper.MountedMapper;
import org.apache.wicket.markup.head.PriorityFirstComparator;
import org.apache.wicket.markup.html.SecurePackageResourceGuard;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.mapper.parameter.PageParametersEncoder;
import org.apache.wicket.request.resource.PackageResourceReference;
Expand Down Expand Up @@ -249,6 +252,11 @@ public void init() {

@Override
public void updateAjaxAttributes(AbstractDefaultAjaxBehavior behavior, AjaxRequestAttributes attributes) {
// check whether behavior will use POST method, if not then don't put CSRF token there
if (!isPostMethodTypeBehavior(behavior, attributes)) {
return;
}

CsrfToken csrfToken = SecurityUtils.getCsrfToken();
if (csrfToken == null) {
return;
Expand All @@ -267,6 +275,25 @@ public void updateAjaxAttributes(AbstractDefaultAjaxBehavior behavior, AjaxReque
new DescriptorLoader().loadData(this);
}

private boolean isPostMethodTypeBehavior(AbstractDefaultAjaxBehavior behavior, AjaxRequestAttributes attributes) {
if (behavior instanceof AjaxFormComponentUpdatingBehavior) {
// these also uses POST, but they set it after this method is called
return true;
}

if (behavior instanceof AjaxFormSubmitBehavior) {
AjaxFormSubmitBehavior fb = (AjaxFormSubmitBehavior) behavior;
Form form = fb.getForm();
String formMethod = form.getMarkupAttributes().getString("method");
if (formMethod == null || "POST".equalsIgnoreCase(formMethod) || form.getRootForm().isMultiPart()) {
// this will also use POST
return true;
}
}

return AjaxRequestAttributes.Method.POST.equals(attributes.getMethod());
}

private static List<LocaleDescriptor> loadLocaleDescriptors(Resource resource) throws IOException {
List<LocaleDescriptor> locales = new ArrayList<>();

Expand Down
Expand Up @@ -664,6 +664,7 @@ ObjectTypeGuiDescriptor.user=Uživatel
ObjectTypeGuiDescriptor.service=Služba
ObjectTypeGuiDescriptor.case=Případ
ObjectTypeGuiDescriptor.valuePolicy=Politika hodnot
ObjectTypeGuiDescriptor.functionLibrary=Knihovna funkcí
ObjectTypeGuiDescriptor.unknown=Není nastaveno
operation.com.evolveum.midpoint.common.crypto.CryptoUtil.securitySelfTest=Bezpečnostní samotest
operation.com.evolveum.midpoint.common.operation.import.object=Importovat objekt
Expand Down Expand Up @@ -3809,6 +3810,7 @@ ValuePolicyBasicPanel.valuePolicy.name=Název
ValuePolicyBasicPanel.valuePolicy.description=Popis
comboInput.nullValid=Vyberte jedno z
ContainerPanel.containerProperties=Vlastnosti
PageOperationResult.title=Výsledek operace
PageOperationResult.noResultAvailable=Není dostupný výsledek operace. Byl možná smazaný přes zaháčkovaný skript.
PageInternals.tab.clock=Hodiny
PageInternals.tab.debugUtil=Ladící utilita
Expand Down
Expand Up @@ -664,6 +664,7 @@ ObjectTypeGuiDescriptor.user=Benutzer
ObjectTypeGuiDescriptor.service=Dienst
ObjectTypeGuiDescriptor.case=Fall
ObjectTypeGuiDescriptor.valuePolicy=Richtlinie für Eingabewerte
ObjectTypeGuiDescriptor.functionLibrary=Function library
ObjectTypeGuiDescriptor.unknown=Nicht definiert
operation.com.evolveum.midpoint.common.crypto.CryptoUtil.securitySelfTest=Selbsttest Sicherheit
operation.com.evolveum.midpoint.common.operation.import.object=Objekt importieren
Expand Down Expand Up @@ -3809,6 +3810,7 @@ ValuePolicyBasicPanel.valuePolicy.name=Name
ValuePolicyBasicPanel.valuePolicy.description=Beschreibung
comboInput.nullValid=wählen
ContainerPanel.containerProperties=Eigenschaften
PageOperationResult.title=Aktionsresultate
PageOperationResult.noResultAvailable=No operation result available. It was probably "deleted" via script hook.
PageInternals.tab.clock=Clock
PageInternals.tab.debugUtil=Überprüfe bis
Expand Down
Expand Up @@ -664,6 +664,7 @@ ObjectTypeGuiDescriptor.user=User
ObjectTypeGuiDescriptor.service=Service
ObjectTypeGuiDescriptor.case=Case
ObjectTypeGuiDescriptor.valuePolicy=Value policy
ObjectTypeGuiDescriptor.functionLibrary=Function library
ObjectTypeGuiDescriptor.unknown=Not defined
operation.com.evolveum.midpoint.common.crypto.CryptoUtil.securitySelfTest=Security self test
operation.com.evolveum.midpoint.common.operation.import.object=Import object
Expand Down Expand Up @@ -3809,6 +3810,7 @@ ValuePolicyBasicPanel.valuePolicy.name=Name
ValuePolicyBasicPanel.valuePolicy.description=Description
comboInput.nullValid=Choose one
ContainerPanel.containerProperties=Properties
PageOperationResult.title=Operation result
PageOperationResult.noResultAvailable=No operation result available. It was probably "deleted" via script hook.
PageInternals.tab.clock=Clock
PageInternals.tab.debugUtil=Debug util
Expand Down
Expand Up @@ -664,6 +664,7 @@ ObjectTypeGuiDescriptor.user=Usuario
ObjectTypeGuiDescriptor.service=Servicio
ObjectTypeGuiDescriptor.case=Case
ObjectTypeGuiDescriptor.valuePolicy=Valor de Política
ObjectTypeGuiDescriptor.functionLibrary=Function library
ObjectTypeGuiDescriptor.unknown=No definido
operation.com.evolveum.midpoint.common.crypto.CryptoUtil.securitySelfTest=Autocomprobación de Seguridad
operation.com.evolveum.midpoint.common.operation.import.object=Importar objeto
Expand Down Expand Up @@ -3809,6 +3810,7 @@ ValuePolicyBasicPanel.valuePolicy.name=Name
ValuePolicyBasicPanel.valuePolicy.description=Descripción
comboInput.nullValid=Elija una
ContainerPanel.containerProperties=Properties
PageOperationResult.title=Operation result
PageOperationResult.noResultAvailable=No operation result available. It was probably "deleted" via script hook.
PageInternals.tab.clock=Clock
PageInternals.tab.debugUtil=Debug util
Expand Down
Expand Up @@ -664,6 +664,7 @@ ObjectTypeGuiDescriptor.user=Kasutaja
ObjectTypeGuiDescriptor.service=Teenus
ObjectTypeGuiDescriptor.case=Case
ObjectTypeGuiDescriptor.valuePolicy=Väärtuspoliitika
ObjectTypeGuiDescriptor.functionLibrary=Function library
ObjectTypeGuiDescriptor.unknown=Pole määratletud
operation.com.evolveum.midpoint.common.crypto.CryptoUtil.securitySelfTest=Turbe enesetest
operation.com.evolveum.midpoint.common.operation.import.object=Impordi objekt
Expand Down Expand Up @@ -3809,6 +3810,7 @@ ValuePolicyBasicPanel.valuePolicy.name=Nimi
ValuePolicyBasicPanel.valuePolicy.description=Kirjeldus
comboInput.nullValid=Vali üks
ContainerPanel.containerProperties=Atribuudid
PageOperationResult.title=Toimingu tulemus
PageOperationResult.noResultAvailable=No operation result available. It was probably "deleted" via script hook.
PageInternals.tab.clock=Clock
PageInternals.tab.debugUtil=Silumisutiliit
Expand Down
Expand Up @@ -664,6 +664,7 @@ ObjectTypeGuiDescriptor.user=Käyttäjä
ObjectTypeGuiDescriptor.service=Palvelu
ObjectTypeGuiDescriptor.case=Asia
ObjectTypeGuiDescriptor.valuePolicy=Arvolinjaus
ObjectTypeGuiDescriptor.functionLibrary=Function library
ObjectTypeGuiDescriptor.unknown=Ei määritetty
operation.com.evolveum.midpoint.common.crypto.CryptoUtil.securitySelfTest=Turvallisuus itse-testaus
operation.com.evolveum.midpoint.common.operation.import.object=Tuo objekti
Expand Down Expand Up @@ -3809,6 +3810,7 @@ ValuePolicyBasicPanel.valuePolicy.name=Bini
ValuePolicyBasicPanel.valuePolicy.description=Kuvaus
comboInput.nullValid=Valitse yksi
ContainerPanel.containerProperties=Ominaisuudet
PageOperationResult.title=Operaation tulos
PageOperationResult.noResultAvailable=Operaation tulosta ei saatavilla. Se on todennäköisesti "poistettu" ohjelmakoodi koukun kautta.
PageInternals.tab.clock=Kello
PageInternals.tab.debugUtil=Viirheen tarkistus työkalu
Expand Down
Expand Up @@ -664,6 +664,7 @@ ObjectTypeGuiDescriptor.user=Felhasználó
ObjectTypeGuiDescriptor.service=Service
ObjectTypeGuiDescriptor.case=Case
ObjectTypeGuiDescriptor.valuePolicy=Value policy
ObjectTypeGuiDescriptor.functionLibrary=Function library
ObjectTypeGuiDescriptor.unknown=Not defined
operation.com.evolveum.midpoint.common.crypto.CryptoUtil.securitySelfTest=Security self test
operation.com.evolveum.midpoint.common.operation.import.object=Import object
Expand Down Expand Up @@ -3809,6 +3810,7 @@ ValuePolicyBasicPanel.valuePolicy.name=Név
ValuePolicyBasicPanel.valuePolicy.description=Leírás
comboInput.nullValid=Choose one
ContainerPanel.containerProperties=Tulajdonságok
PageOperationResult.title=Operation result
PageOperationResult.noResultAvailable=No operation result available. It was probably "deleted" via script hook.
PageInternals.tab.clock=Clock
PageInternals.tab.debugUtil=Debug util
Expand Down
Expand Up @@ -664,6 +664,7 @@ ObjectTypeGuiDescriptor.user=Użytkownik
ObjectTypeGuiDescriptor.service=Usługa
ObjectTypeGuiDescriptor.case=Przypadek
ObjectTypeGuiDescriptor.valuePolicy=Polityka wartości
ObjectTypeGuiDescriptor.functionLibrary=Biblioteka funkcji
ObjectTypeGuiDescriptor.unknown=Niezdefiniowany
operation.com.evolveum.midpoint.common.crypto.CryptoUtil.securitySelfTest=Autotest bezpieczeństwa
operation.com.evolveum.midpoint.common.operation.import.object=Import obiektu
Expand Down Expand Up @@ -3126,7 +3127,7 @@ LdapAuthenticationProvider.badCredentials=Niepoprawna nazwa użytkownika i/lub h
LdapAuthenticationProvider.emptyUsername=Pusta nazwa użytkownika.
LdapAuthentication.incorrect.value=Typ główny MidPointa się nie zgadza.
LdapAuthentication.bad.user=Nieznany użytkownik.
UserProfileServiceImpl.unknownUser=Couldn't find user.
UserProfileServiceImpl.unknownUser=Nie udało się odnaleźć użytkownika.
AbstractLdapAuthenticationProvider.emptyPassword=Puste hasło.
BindAuthenticator.badCredentials=Niepoprawna nazwa użytkownika i/lub hasło
WfDeltasPanel.label.deltaIn=Wejście procesu: różnica(e) do zatwierdzenia
Expand Down Expand Up @@ -3809,6 +3810,7 @@ ValuePolicyBasicPanel.valuePolicy.name=Nazwa
ValuePolicyBasicPanel.valuePolicy.description=Opis
comboInput.nullValid=Wybierz
ContainerPanel.containerProperties=Właściwości
PageOperationResult.title=Rezultat wykonania
PageOperationResult.noResultAvailable=Wynik operacji jest niedostępny. Prawdopodobnie został usunięty przez script hook.
PageInternals.tab.clock=Zegar
PageInternals.tab.debugUtil=Narzędzie debugowania
Expand Down
Expand Up @@ -664,6 +664,7 @@ ObjectTypeGuiDescriptor.user=Usuário
ObjectTypeGuiDescriptor.service=Serviço
ObjectTypeGuiDescriptor.case=Caso
ObjectTypeGuiDescriptor.valuePolicy=Política de valor
ObjectTypeGuiDescriptor.functionLibrary=Function library
ObjectTypeGuiDescriptor.unknown=Não definido
operation.com.evolveum.midpoint.common.crypto.CryptoUtil.securitySelfTest=Auto-teste de segurança
operation.com.evolveum.midpoint.common.operation.import.object=Importar objeto
Expand Down Expand Up @@ -3809,6 +3810,7 @@ ValuePolicyBasicPanel.valuePolicy.name=Nome
ValuePolicyBasicPanel.valuePolicy.description=Descrição
comboInput.nullValid=Escolher um
ContainerPanel.containerProperties=Propriedades
PageOperationResult.title=Resultado da operação
PageOperationResult.noResultAvailable=No operation result available. It was probably "deleted" via script hook.
PageInternals.tab.clock=Clock
PageInternals.tab.debugUtil=Util. depuração
Expand Down
Expand Up @@ -664,6 +664,7 @@ ObjectTypeGuiDescriptor.user=Пользователь
ObjectTypeGuiDescriptor.service=Сервис
ObjectTypeGuiDescriptor.case=Дело
ObjectTypeGuiDescriptor.valuePolicy=Значение политики
ObjectTypeGuiDescriptor.functionLibrary=Function library
ObjectTypeGuiDescriptor.unknown=Не определено
operation.com.evolveum.midpoint.common.crypto.CryptoUtil.securitySelfTest=Автотест безопасности
operation.com.evolveum.midpoint.common.operation.import.object=Импортировать объект
Expand Down Expand Up @@ -3809,6 +3810,7 @@ ValuePolicyBasicPanel.valuePolicy.name=Название
ValuePolicyBasicPanel.valuePolicy.description=Описание
comboInput.nullValid=Выбрать
ContainerPanel.containerProperties=Параметры
PageOperationResult.title=Результат операции
PageOperationResult.noResultAvailable=No operation result available. It was probably "deleted" via script hook.
PageInternals.tab.clock=Clock
PageInternals.tab.debugUtil=Средство отладки утилиты
Expand Down
Expand Up @@ -664,6 +664,7 @@ ObjectTypeGuiDescriptor.user=Používateľ
ObjectTypeGuiDescriptor.service=Služba
ObjectTypeGuiDescriptor.case=Case
ObjectTypeGuiDescriptor.valuePolicy=Hodnotová politika
ObjectTypeGuiDescriptor.functionLibrary=Function library
ObjectTypeGuiDescriptor.unknown=Nedefinovaný
operation.com.evolveum.midpoint.common.crypto.CryptoUtil.securitySelfTest=Test zabezpečenia
operation.com.evolveum.midpoint.common.operation.import.object=Importovať objekt
Expand Down Expand Up @@ -3809,6 +3810,7 @@ ValuePolicyBasicPanel.valuePolicy.name=Názov
ValuePolicyBasicPanel.valuePolicy.description=Popis
comboInput.nullValid=Vyberte hodnotu
ContainerPanel.containerProperties=Vlastnosti
PageOperationResult.title=Výsledok operácie
PageOperationResult.noResultAvailable=No operation result available. It was probably "deleted" via script hook.
PageInternals.tab.clock=Clock
PageInternals.tab.debugUtil=Debug utility
Expand Down
Expand Up @@ -664,6 +664,7 @@ ObjectTypeGuiDescriptor.user=Kullanıcı
ObjectTypeGuiDescriptor.service=Servis
ObjectTypeGuiDescriptor.case=Durum
ObjectTypeGuiDescriptor.valuePolicy=Değer kuralı
ObjectTypeGuiDescriptor.functionLibrary=Fonksiyon sözlüğü
ObjectTypeGuiDescriptor.unknown=Tanımlı değil
operation.com.evolveum.midpoint.common.crypto.CryptoUtil.securitySelfTest=Güvenlik öz sağlaması
operation.com.evolveum.midpoint.common.operation.import.object=İçe aktarma nesnesi
Expand Down Expand Up @@ -3809,6 +3810,7 @@ ValuePolicyBasicPanel.valuePolicy.name=İsim
ValuePolicyBasicPanel.valuePolicy.description=Açıklama
comboInput.nullValid=Birini seçiniz
ContainerPanel.containerProperties=Özellikler
PageOperationResult.title=İşlem sonucu
PageOperationResult.noResultAvailable=İşlem sonucu mevcut değil. Muhtemelen betik kancası aracılığıyla "silindi".
PageInternals.tab.clock=Saat
PageInternals.tab.debugUtil=Hata ayıklama aracı
Expand Down

0 comments on commit caaa84a

Please sign in to comment.