在 docker 容器中运行可运行 jar 时,Grails Spring Security Active Directory 登录失败
Posted
技术标签:
【中文标题】在 docker 容器中运行可运行 jar 时,Grails Spring Security Active Directory 登录失败【英文标题】:Grails Spring Security Active Directory login failed when runnable jar in docker container 【发布时间】:2019-08-27 07:18:52 【问题描述】:我正在使用带有 spring Security 的 grails 4 可运行 jar。
身份验证映射到 Active Directory。
它在开发模式下运行良好,并且在 openjdk 11.0.2 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
上使用 java -jar
运行时运行良好
Docker 容器(在同一主机上)中的相同操作失败并出现“密码错误”错误(在我们心爱的 Active Directory 中确实不明显):javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C09042F, comment: AcceptSecurityContext error, data 52e, v2580 ]
Dockerfile 是
FROM adoptopenjdk/openjdk11:latest
EXPOSE 8080
RUN mkdir /opt/app
COPY build/libs/*.jar /opt/app/app.jar
CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/opt/app/app.jar"]
我猜系统属性的某处有些不同,但哪个...
【问题讨论】:
【参考方案1】:我猜添加“-Dfile.encoding=UTF-8”刚刚解决了我的问题。
【讨论】:
以上是关于在 docker 容器中运行可运行 jar 时,Grails Spring Security Active Directory 登录失败的主要内容,如果未能解决你的问题,请参考以下文章