@JonSampson Я редактировал код. Но я не могу войти в класс фильтра. Можете ли вы, пожалуйста, дать мне понять, где это пошло не так.

отаю над приложением Spring MVC И мы используем Spring Security.

Теперь у меня есть требование, что, как только я вхожу в приложение, должно отображаться всплывающее окно. Таким образом, приложение может войти непосредственно на домашнюю страницу, на страницу его профиля или в любой другой поток в приложении. Но мне нужно показать всплывающее окно независимо от того, куда входит пользователь.

Как мне добиться этого с помощью Spring Security или любой другой альтернативы, пожалуйста?

Я пытался: config.xml:

<bean id="popUpFilter" class="myPackage.security.popUpClass" />
 <security:http entry-point-ref="myAppAuthEntryPoint" use-expressions="true">
.............
    <security:custom-filter after="LOGIN_FILTER" ref="popUpFilter"/>
</security:http>

И мой код:

public class popUpClass implements AuthenticationSuccessHandler {

private static final Logger log = LoggerFactory.getLogger(popUpClass.class);

@Override
public void onAuthenticationSuccess(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Authentication authentication) throws IOException, ServletException {
    //do some logic here if you want something to be done whenever
    //the user successfully logs in.
    log.debug("Entered into customfilter");

    HttpSession session = httpServletRequest.getSession();
    User user =  SecurityClass.getUserDetails();
    session.setAttribute("id", user.ID());
    session.setAttribute("state", user.State());

    //set our response to OK status
    httpServletResponse.setStatus(HttpServletResponse.SC_OK);

    //since we have created our custom success handler, its up to us to where
    //we will redirect the user after successfully login
    httpServletResponse.sendRedirect("home");
}

}

ПРИМЕЧАНИЕ. Всплывающее окно должно появляться только один раз после входа пользователя.

Ответы на вопрос(0)

Ваш ответ на вопрос