首页 > 解决方案 > JSoup - 使用当前 Session / Shiro 登录并加载 JSF 页面

问题描述

我在从受保护的 JSF 页面获取 HTML 内容时遇到问题。我正在使用 Apache Shiro 作为身份验证提供程序。

从 Apache Shiro 我已经有一个会话/用户:

    Subject currentUser = permissionSystemUserServiceStoredBean.getSystemUser();
    Session session = currentUser.getSession();

我的页面是通过 shiro-web.ini 保护的:

/portal/myPage.jsf** = authc

我现在想获取此页面的 HTML 内容,但问题是我没有登录,请求将转到 404 页面(我的登录页面)。

我正在尝试这个-

String cookieName = "sid";
org.jsoup.nodes.Document doc = Jsoup.connect(urlStr)
                .cookie(cookieName, currentUser.getSession().getId().toString()).get();

我的 cookie 在 Shiro-web.xml 中被命名为“sid”:

sessionIdCookie=org.apache.shiro.web.servlet.SimpleCookie
sessionIdCookie.httpOnly = true
sessionIdCookie.name = sid
sessionIdCookie.domain = localhost
sessionIdCookie.maxAge=28800000
sessionIdCookie.secure = true
sessionIdCookie.sameSite = NONE

有人可以帮我吗?

标签: jsfjsoupshiro

解决方案


推荐阅读