是否可以通过检查 Spring Security 中现有的 HttpSession 来对用户进行身份验证?我希望用户在一个 URL (http://example.com/auth) 上通过 CAS 进行身份验证,而不是其他 URL。例如,如果他们直接访问http://example.com/content,那么我想检查 HttpSession 并在他们尚未登录 CAS 的情况下返回 401 Unauthorized 代码。如果他们已经进入 /auth 页面并登录,那么进入 /content 将返回内容。这样做的主要原因是为了避免 CAS 在身份验证期间导致的任何重定向。
我是 Spring Security 的新手,不知道我是否需要自定义 AuthenticationManager、AuthenticationEntryPoint、两者或其他东西。AuthenticationManager 没有办法让我访问 HttpSession,并且 AuthenticationEntryPoint 似乎不是实现此功能的正确位置。
有任何想法吗?