【发布时间】:2012-12-10 10:20:34
【问题描述】:
此 Web 应用程序可与 Shiro 和 JSF 一起使用。我添加了 PrimeFaces,但我遇到了登录重定向问题。
预期行为:
- 导航到需要认证的网址
- 重定向到登录页面
- 登录重定向回原来的页面
primfaces的行为
- 导航到需要认证的网址
- 重定向到登录页面
- 登录后重定向到 javax.faces.resource/theme.css?ln=primefaces-aristo
我通过在我的shiro.ini 文件中捕获请求参数来登录用户
# name of request parameter with username; if not present filter assumes 'username'
authc.usernameParam = login:username
# name of request parameter with password; if not present filter assumes 'password'
authc.passwordParam = login:password
# does the user wish to be remembered?; if not present filter assumes 'rememberMe'
authc.rememberMeParam = login:remembered
我将其修改为使用PassThruAuthenticationFilter,登录请求由我的Bean 处理,但这仍然会产生相同的错误。 bean登录方式
AuthenticationToken token = new UsernamePasswordToken(username, password);
Subject currentUser = SecurityUtils.getSubject();
currentUser.login(token);
ServletRequest request = (ServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
ServletResponse response = (ServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
WebUtils.redirectToSavedRequest(request, response, "index.xhtml");
我的登录 Bean 是@RequestScoped
【问题讨论】:
标签: authentication redirect jsf-2 shiro