我正在使用OpenId模块构建一个带有Spring Security的测试应用程序。我还使用jQuery OpenId plugin来支持一些提供者。
我正在用Tomcat (版本7)测试这个应用程序,经过一些故障排除后,我发现我需要为服务器指定URI编码,以便支持那些凭据中有倾斜字母和元音的用户,例如Peñasco,and等。
在Tomcat中,我只需将其设置为tomcat-server.xml文件:
<Connector URIEncoding="UTF-8" SSLEnabled="true" .../>但这款应用程序是部署在OpenShift PaaS上的JBoss AS 7墨盒中。
在这种情况下,如何设置模拟配置?
编辑:
我添加了包含以下内容的文件.openshift / action_hooks / pre_start_jbossas-7:
#!/bin/bash
# Need to set URI encoding to UTF-8 because of Spring Security OpenID module needs it for tilded letters e.g. ñ, Á
export JAVA_OPTS=" -Dorg.apache.catalina.connector.URI_ENCODING=\"UTF-8\" -Dorg.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING=true"但它不能远程工作,我对本地服务器使用了相同的选项,但它不能工作。
发布于 2013-01-17 02:57:23
在JBoss AS7中,您可以使用系统属性配置此功能:
-Dorg.apache.catalina.connector.URI_ENCODING="UTF-8"
-Dorg.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING="true"有关参考,请参阅:https://community.jboss.org/message/643825#643825
您也可以在standalone.xml的<system-properties>部分设置这些参数,但在OpenShift上,此文件不受您的应用程序控制。对于OpenShift应用程序,您需要通过在应用程序的预启动钩子中设置JAVA_OPTS来使用这些选项启动JBoss。为此,请将以下内容添加到.openshift/action-hooks/pre_start_jbossas-7文件:
export JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.connector.URI_ENCODING=\"UTF-8\" \
-Dorg.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING=\"true\""希望这能有所帮助。如果您遇到问题,请留言。
发布于 2014-01-20 07:36:26
对我来说,添加
URIEncoding="UTF-8"到.openshift\config\server.xml中
<Connector address="${OPENSHIFT_JBOSSEWS_IP}"
port="${OPENSHIFT_JBOSSEWS_HTTP_PORT}"
protocol="HTTP/1.1"
URIEncoding="UTF-8"
connectionTimeout="20000"
redirectPort="8443"/>https://stackoverflow.com/questions/14353342
复制相似问题