由CAS引起的APEX应用构建器的编码问题

问题描述 投票:0回答:1

我在APEX应用构建器/ sql研讨会上遇到了一段时间。有一个编码问题(APEX必须提供东欧字符)。好的,我找到了问题的根源。我已经通过web.xml(APEX在Tomcat / ORDS上)在APEX中实现了CAS sso。没有CAS,evrything可以正常工作,但是我需要它。

下面是web.xml配置。


    <filter>
        <filter-name>CAS Single Sign Out Filter</filter-name>
        <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
        <init-param>
            <param-name>casServerUrlPrefix</param-name>
            <param-value>**************</param-value>
        </init-param>
    </filter>
        <filter-mapping>
        <filter-name>CAS Single Sign Out Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>




    <listener>
        <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
    </listener>

    <filter>
        <filter-name>CAS Authentication Filter</filter-name>
        <filter-class>org.jasig.cas.client.authentication.Saml11AuthenticationFilter</filter-class>

        <init-param>
            <param-name>casServerLoginUrl</param-name>
            <param-value>****************</param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value>***************</param-value>
        </init-param>
        </filter>

    <filter>
        <filter-name>CAS Validation Filter</filter-name>
        <filter-class>org.jasig.cas.client.validation.Saml11TicketValidationFilter</filter-class>

        <init-param>
            <param-name>casServerUrlPrefix</param-name>
            <param-value>****************</param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value>*************</param-value>
        </init-param>
        <init-param>
            <param-name>redirectAfterValidation</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>useSession</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>acceptAnyProxy</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>proxyReceptorUrl</param-name>
            <param-value>/apex/proxyUrl</param-value>
        </init-param>
        <init-param>
            <param-name>proxyCallbackUrl</param-name>
            <param-value>*************</param-value>
        </init-param>

        <init-param>
            <param-name>tolerance</param-name> 
            <param-value>12000</param-value> 
        </init-param> 
        <init-param>
            <param-name>authn_method</param-name>
            <param-value>mfa-duo</param-value>
        </init-param>
    </filter>

    <filter>
        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
        <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
    </filter>





    <filter-mapping>
        <filter-name>CAS Validation Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter-mapping>
        <filter-name>CAS Authentication Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter-mapping>
        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>


我尝试实现https://github.com/apereo/java-cas-client/blob/master/README.md中的某些内容例如有一个句子

SingleSignOutFilter可能会影响字符编码。当与Atlassian Confluence等应用程序结合使用时,这一点最为明显。建议您使用显式编码显式配置VT字符编码过滤器或Spring字符编码过滤器。

但是我不知道如何实现它。当我尝试实现以下代码时,此过滤器无法正常启动,并且无法检查错误日志。

    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>

    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

问题示例:SQL Workshop>

select 'ł' from dual;

结果:A?

我该如何解决?

tomcat oracle-apex cas tomcat9
1个回答
0
投票

将CharackerEncodingFilter添加到web.xml是正确的。我找到了日志,并发现缺少类存在问题。

有要求在WEB-INF / lib中添加一些.jar。>

  • org.springframework.beans
  • org.springframework.context
  • spring-web
  • org.springframework.core
  • tomcat重新启动后,一切正常

© www.soinside.com 2019 - 2024. All rights reserved.