我有一个简单的网络应用程序,用户可以在其中创建具有角色的其他用户,出于安全目的,我想要的是在用户(管理员角色)创建另一个用户之后,它会进入欢迎页面,当用户在网络浏览器中按下返回按钮时,用户可以查看输入文本框中的所有值我想在用户按下返回时重置输入文本框的值,或者当用户按下返回按钮时上一页过期
谢谢。
我有一个简单的网络应用程序,用户可以在其中创建具有角色的其他用户,出于安全目的,我想要的是在用户(管理员角色)创建另一个用户之后,它会进入欢迎页面,当用户在网络浏览器中按下返回按钮时,用户可以查看输入文本框中的所有值我想在用户按下返回时重置输入文本框的值,或者当用户按下返回按钮时上一页过期
谢谢。
您需要关闭浏览器的自动完成功能。autocomplete
这是在表单输入中使用属性完成的:
<h:form>
<h:inputText value="#{auth.username}" required="true" autocomplete="off" />
<h:inputSecret value="#{auth.password}" required="true" autocomplete="off" />
<h:commandButton value="Login" action="#{auth.login}" />
<h:messages />
</h:form>
看看这个。
首先,您应该使用过滤器来确保安全。在您的过滤器中,您可以设置响应的标题。这将处理您的安全问题。一个简单的实现将是这样的:
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebFilter(urlPatterns = {"yourUrlThatWillbeProtected"})
//you should also put dispatcherTypes in webFilter
public class PageFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//do some filtering , take user, check user, etc.
HttpServletResponse res = (HttpServletResponse) response;
// security of closed pages
res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
res.setHeader("Pragma", "no-cache"); // HTTP 1.0.
res.setDateHeader("Expires", 0); // Proxies.
chain.doFilter(request, response);
}
@Override
public void destroy() {
}
}