【发布时间】:2011-09-19 01:48:42
【问题描述】:
当我在我的网站上使用我的 https 登录页面时,spring security forward 使用了错误的端口:
我的登录 bean 执行以下操作:
ExternalContext ec = context.getExternalContext();
String encodedURL = ec.encodeResourceURL(ec.getRequestContextPath() + "/j_spring_security_check?j_username=" + userId + "&j_password=" + password + "&_spring_security_remember_me=" + rememberMe );
logger.info(encodedURL);
ec.redirect(encodedURL);
也试过了:
ExternalContext context = FacesContext.getCurrentInstance()
.getExternalContext();
RequestDispatcher dispatcher = ((ServletRequest) context.getRequest())
.getRequestDispatcher("/j_spring_security_check");
dispatcher.forward((ServletRequest) context.getRequest(),
(ServletResponse) context.getResponse());
FacesContext.getCurrentInstance().responseComplete();
// It's OK to return null here because Faces is just going to exit.
return null;
Server.xml:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
<Connector port="443" protocol="HTTP/1.1" scheme="https" secure="true"/>
不知道为什么它使用了错误的端口...
【问题讨论】:
标签: jsf spring-security