it-swarm-eu.dev

Jenkins - j_acegi_security_check

Próbuję ustawić jenkinsa, ale nie mogę uruchomić uwierzytelniania. Używam jenkins na Tomcat6 w CentOS 6.2. Włączam logowanie i wszystko idzie dobrze, dopóki nie spróbuję się zalogować. Po podaniu mojego poświadczenia i naciśnięciu loginu, Tomcat podaje mi błąd:

„Status HTTP 404 - Żądany zasób () nie jest dostępny.” on http: // myserver: 8080/jenkins/j_acegi_security_check

Poprzez googling mogę to znaleźć: https://issues.jenkins-ci.org/browse/JENKINS-3761

Dwie sugerowane poprawki, które znalazłem:

  • Uruchom jenkins na Tomcat, zamiast uruchamiać samodzielną wersję - już robi to Iam.
  • Edytuj plik: WEB-INF/security/SecurityFilters.groovy - próbowałem Edit, ale nie mogę go zmienić

Czy jest coś, co mogę zrobić, aby to działało?

49
varesa

Spędzony wiek zmaga się z tym, upewnij się, że Królestwo zabezpieczeń jest ustawione, gdy wybierasz metodę autoryzacji w Jenkins.

Oznacza to, że w Zarządzaj Jenkins → Konfiguracja globalnego bezpieczeństwa wybierz opcję z listy Security Realm.

Na przykład:

 enter image description here

103
Oli

Być może zapomniałeś wybrać dziedzinę bezpieczeństwa, jak określono poniżej

https://wiki.jenkins-ci.org/display/JENKINS/Standard+Security+Setup

Jeśli zablokowałeś się, możesz przywrócić plik config.xml Jenkins, aby ustawić wartość węzła <useSecurity>true</useSecurity> na false, postępując zgodnie z instrukcjami tutaj

https://wiki.jenkins-ci.org/display/JENKINS/Disable+security

19

Jak wspomniano na stronie błędu :

Błąd został spowodowany przez regułę przekazywania proxy "/jenkins http://localhost:9080/jenkins/", która doprowadziła do żądania incomming (jenkins) "/jenkins//j_acegi_security_check" (podwójne //). Tak więc strona logowania została odrzucona za pomocą 404 (podczas gdy wszystkie inne strony były obsługiwane).

Upewnij się, że ProxyPass /jenkins nie kończy się końcowym ukośnikiem w docelowym adresie URL.

8
jevon

Miałem ten sam HTTP 404 na problemie URI „/ jenkins/j_acegi_security_check”. 

I ten sam problem, jak wskazał pga powyżej: Tomcat był uruchamiany jako użytkownik root.

Stało się tak, ponieważ skonfigurowałem Tomcat do ponownego uruchomienia się automatycznie, tworząc skrypt startowy Tomcat w „/etc/init.d/”.

Naprawiono problem z:

su - tomcatuser - c /cde/pkgs/../Tomcat/start.sh
0
Taher

Mój adres URL logowania do zakładek Jenkins to: https://jenkins.foo.com/login?from=%2F

Jeśli zabezpieczenia są wyłączone, a adres URL zostanie podany przy użyciu jakichkolwiek poświadczeń lub pustych, pojawi się błąd j_acegi.

Zamiast tego użyj https://jenkins.foo.com/ , a zabierze Cię prosto do deski rozdzielczej.

0
Jim Nathlich

Miałem ten sam problem z 404 na stronie „/ jenkins/j_acegi_security_check”.

Używając Jenkinsa z Tomcatem, po wielu próbach jego rozwiązania, doszedłem do rozwiązania - używam 18080 jako domyślnego portu bez przekierowania SSL . Jest to związane z przekierowaniem, ale w tym przypadku (jak przy użyciu Tomcata) musi zostać zmieniony w konfiguracji serwera Tomcat:

Sprawdź w /conf/server.xml następujący wpis:

<Connector port="18080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" /> 

Tylko komentowanie redirectPort pomogło mi:

<Connector port="18080" protocol="HTTP/1.1"
    connectionTimeout="20000" />
0

Stawiałem czoła temu samemu problemowi zarówno w Ubuntu, jak iw AIX, gdzie desperacko potrzebowałem go do pracy w ustawieniach produkcyjnych. Próbowałem nawet serwerów WWW Tomcat i Apache, wciąż ten sam problem.

Wreszcie zmiana programu ładującego klasy w następujący sposób sprawiła, że ​​działał on w trybie autonomicznym: 

Java -jar jenkins.war --httpPort=79802 --preferredClassLoader=Java.net.URLClassLoader & 

Nawiasem mówiąc, jest to domyślne ustawienie w standardowej dystrybucji Jenkins dla Ubuntu, skąd mam wskazówkę. 

Prawdopodobnie problem dotyczy opakowania, ale na razie to rozwiązanie działa. Sprawdź, czy to rozwiązuje podobne problemy.

0
Sohel Khan