栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JSF 2.0:使用HttpServletRequest.login后如何重定向到受保护的页面

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JSF 2.0:使用HttpServletRequest.login后如何重定向到受保护的页面

对于基于容器管理的表单的身份验证,登录页面位于由a打开的掩盖下,

RequestDispatcher#forward()
因此原始请求URI可作为请求属性使用,其名称由标识
RequestDispatcher#FORWARD_REQUEST_URI
。请求属性(基本上是请求范围)在JSF中,由提供
ExternalContext#getRequestMap()

因此,这应该做到:

private String requestedURI;@PostConstructpublic void init() {    requestedURI = FacesContext.getCurrentInstance().getExternalContext()        .getRequestMap().get(RequestDispatcher.FORWARD_REQUEST_URI);    if (requestedURI == null) {        requestedURI = "some/default/home.xhtml";    }}public void submit() throws IOException {    // ...    try {        request.login(username, password);        externalContext.redirect(requestedURI);    } catch (ServletException e) {        context.addMessage(null,      new FacesMessage(FacesMessage.SEVERITY_ERROR,      "Bad login", null));    }}

你只需要做出豆

@ViewScoped
(JSF)或
@ConversationScoped
代替(CDI)
@SessionScoped
(绝对不是
@RequestScoped
;与其一起使用,否则不同的方法的需求
<f:param>
<f:viewParam>
)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/570747.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号