我有一个登录页面,我想在https中显示。验证用户后,我想将他转回http。
所以我在web.xml中声明了
<security-constraint>
<web-resource-collection>
<web-resource-name>Login and Restricted Space URLs</web-resource-name>
<url-pattern>/general/enter.jsf</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Rest of the Application</web-resource-name>
<url-pattern>/general/home.jsf</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
我看到登录页面是https。
但在我的行动中:
public String doLogin() throws Exception {
...
User user = service.getUserByNameAndCompany(name, company);
......
return "/general/home.jsf";
}
bean将用户重定向到
https:// mycomputer:8443 / MYProject / general / home.jsf
我希望它能回来
http://mycomputer:8080/MYProject/general/home.jsf
我该怎么做?
答案 0 :(得分:2)
JSF导航会将您重定向到同一应用程序中的页面(这意味着您只能在https: //mycomputer:8080/MYProject
内导航)。
您可以做的是导航到/general/redirect.jsf
这样的页面,然后使用标题或javascript重定向到您想要的网址。