Browse Source

Bugfix PW-Änderung und veraltete Saiku-beans.xml #10

kern_tomcat10_test_his
Daniel Quathamer 2 weeks ago
parent
commit
524fad3251
  1. 1100
      .classpath
  2. 54
      src/de/superx/saiku/SuperXLDAPAnmeldungFilter.java
  3. BIN
      superx/WEB-INF/lib/superx6.0.jar
  4. 5
      superx/WEB-INF/saiku/applicationContext-saiku-webapp.xml
  5. 12
      superx/index.jsp

1100
.classpath

File diff suppressed because it is too large Load Diff

54
src/de/superx/saiku/SuperXLDAPAnmeldungFilter.java

@ -0,0 +1,54 @@ @@ -0,0 +1,54 @@
package de.superx.saiku;
import java.io.IOException;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.springframework.context.ApplicationContext;
import org.springframework.security.web.authentication.AnonymousAuthenticationFilter;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.context.WebApplicationContext;
import de.superx.servlet.RequestParameter;
import de.superx.servlet.ServletBasics;
import de.superx.servlet.UserInitializer;
public class SuperXLDAPAnmeldungFilter extends AnonymousAuthenticationFilter {
public static Logger logger = Logger.getLogger(SuperXLDAPAnmeldungFilter.class);
public SuperXLDAPAnmeldungFilter(String key) {
super(key);
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest req=(HttpServletRequest) request;
if(SecurityContextHolder.getContext().getAuthentication()!=null
&& req.getSession().getAttribute("user")==null)
{
String kennungImRequest = SecurityContextHolder.getContext().getAuthentication().getName();
if (kennungImRequest != null ) {
logger.debug("Gastanmeldung kennung=gast* im Request gefunden");
UserInitializer ui;
try {
/*ui = new UserInitializer((HttpServletRequest) request);
ui.perform(null, (ApplicationContext) request.getServletContext()
.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE));
logger.info("Gastanmeldung als " + ui.getUser().getName()+" erfolgreich");*/
} catch (Exception e) {
e.printStackTrace();
logger.error("Gastanmeldung fehlgeschlagen " + e);
throw new ServletException("Gastanmeldung fehlgeschlagen " + e);
}
}
}
chain.doFilter(request, response);
}
}

BIN
superx/WEB-INF/lib/superx6.0.jar

Binary file not shown.

5
superx/WEB-INF/saiku/applicationContext-saiku-webapp.xml

@ -78,13 +78,16 @@ @@ -78,13 +78,16 @@
<logout logout-url="/logout"/>
<custom-filter ref="characterEncodingFilter" after="FIRST"/>
<custom-filter ref="sxGastAnmeldungFilter" after="ANONYMOUS_FILTER" />
<!--<custom-filter after="PRE_AUTH_FILTER" ref="sxLDAPAnmeldungFilter" />-->
<custom-filter position="PRE_AUTH_FILTER" ref="sxSessionAuthenticationFilter" />
<custom-filter after="SESSION_MANAGEMENT_FILTER" ref="sessionCookieFilter" />
</http>
<!--<b:bean id="sxLDAPAnmeldungFilter" class="de.superx.saiku.SuperXLDAPAnmeldungFilter">
<b:constructor-arg index="0" value="superx_bi"/>
</b:bean>-->
<b:bean id="sxGastAnmeldungFilter" class="de.superx.saiku.SuperXGastAnmeldungFilter">
<b:constructor-arg index="0" value="superx_bi"/>
</b:bean>
<!-- SuperX Session pre-authentication -->
<b:bean id="sxSessionAuthenticationFilter" class="de.superx.saiku.SuperxPreAuthenticatedProcessingFilter">
<b:property name="authenticationManager" ref="authenticationManager"/>

12
superx/index.jsp

@ -114,8 +114,14 @@ if(rs.getObject(1) !=null ) @@ -114,8 +114,14 @@ if(rs.getObject(1) !=null )
<%
if (request.getParameter("logoff") != null&&request.getSession()!=null) { request.getSession().invalidate(); };
if (request.getSession()!=null&&request.getSession().getAttribute("sessiontype")!=null&&request.getSession().getAttribute("sessiontype").equals("superx")
if (request.getParameter("logoff") != null&&request.getSession()!=null)
{
request.getSession().invalidate();
}
if (request.getSession()!=null
&&request.getSession().getAttribute("sessiontype")!=null
&&request.getSession().getAttribute("sessiontype").equals("superx")
&& request.getSession().getAttribute("user")!=null) {
%>
<!-- Inhalt wenn angemeldet -->
@ -235,7 +241,7 @@ username=request.getRemoteUser(); @@ -235,7 +241,7 @@ username=request.getRemoteUser();
<jsp:forward page="servlet/SuperXmlAnmeldung" >
<jsp:param name="kennung" value="<%= username %>" />
<jsp:param name="requestedServlet" value="../index.jsp"/>
<jsp:param name="alt_redirect_url" value="../index.jsp" />
<jsp:param name="redirect" value="/superx/index.jsp" />
</jsp:forward>
<%
} %>

Loading…
Cancel
Save