Когда мои пользователи пытаются выполнить действие нашего веб-сайта после их сеанса истекло (например, если они оставили свой браузер открытым), сервер отвечает с состоянием HTTP 405, так как пользователь больше не вошли в систему.Как распознать код ошибки HTTP из GWT?
Когда это произойдет, я хочу перенаправить пользователя на экран входа в систему.
Как узнать, когда в GWT возвращается код ошибки 405, чтобы я мог перенаправить пользователей?
Благодаря
Edit: Вот фильтр я использую:
public class AuthenticationFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
if (req instanceof HttpServletRequest) {
boolean isLoggedIn = CustomSecurity.login((HttpServletRequest)req);
if (isLoggedIn) {
// TODO: How to redirect the user here???
}
}
chain.doFilter(req, res);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
web.xml содержание:
<filter>
<filter-name>Authentication Filter</filter-name>
<filter-class>com.company.AuthenticationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Как я могу сделать это перенаправить пользователь? Кроме того, есть ли способ заставить весь браузер перенаправлять? Поскольку это входит в виджет, я думаю, что Window.Location.assign ('url') будет перенаправлять содержимое HTML-виджета только.
Вы используете GWT-RPC или RequestBuilder? – LINEMAN78
Мы используем GWT-RPC – Cuga
, этот подход фильтра будет перенаправлять ваш вызов rpc только в том случае, если сеанс истекает, вам нужно вернуть 405 клиенту. если вы перенаправите фильтр, он получит 200, но конечная точка изменится, и gwt не сможет анализировать данные. – LINEMAN78