Authentication Shiro在JSF中使用PrimeFaces时重定向到错误的位置

Authentication Shiro在JSF中使用PrimeFaces时重定向到错误的位置,authentication,redirect,jsf-2,shiro,Authentication,Redirect,Jsf 2,Shiro,这个web应用程序与Shiro和JSF一起工作。我添加了PrimeFaces,我有登录重定向问题 预期行为: 导航到需要authc的url 已重定向到登录页面 登录重定向回原始页面 拘谨的举止 导航到需要authc的url 已重定向到登录页面 登录后重定向到javax.faces.resource/theme.css?ln=primefaces-aristo 我通过在我的shiro.ini文件中捕获请求参数来登录用户 # name of request parameter with userna

这个web应用程序与Shiro和JSF一起工作。我添加了PrimeFaces,我有登录重定向问题

预期行为:

  • 导航到需要authc的url
  • 已重定向到登录页面
  • 登录重定向回原始页面
  • 拘谨的举止

  • 导航到需要authc的url
  • 已重定向到登录页面
  • 登录后重定向到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

    此问题的根本原因是我的所有视图都位于同一目录中。我已将shiro配置为要求对根目录中的所有内容进行身份验证
    /*

    显示登录页面的原因是因为它是一个“特殊”案例,它在shiro配置中定义为登录页面。加载此页面后,浏览器对css和js文件发出了附加请求,这就是此页面上没有主题的原因


    给定
    WebUtils.redirectToSavedRequest(请求、响应,“index.xhtml”)的行为看来shiro只是保存了收到的最后一个请求,而不是登录页面。

    这个问题的根本原因是我的所有视图都在同一个目录中。我已将shiro配置为要求对根目录中的所有内容进行身份验证
    /*

    显示登录页面的原因是因为它是一个“特殊”案例,它在shiro配置中定义为登录页面。加载此页面后,浏览器对css和js文件发出了附加请求,这就是此页面上没有主题的原因


    给定
    WebUtils.redirectToSavedRequest(请求、响应,“index.xhtml”)的行为看来shiro只是保存了收到的最后一个请求,而不是登录页面。

    我想这是一个bug,我问过shiro社区,shiro社区没有响应,创建了一个bug,我想这是一个bug,我问过shiro社区,shiro社区没有响应,创建了一个bug