Java 如何防止通过url直接访问jsp?
我正在用java开发一个web应用程序。为了防止直接访问url,我使用了检查会话验证的代码。这是一个客户员工应用程序 在除登录页面之外的每个页面中,我都有相同的标题,其中菜单项是使用会话动态生成的,具体取决于角色。但是,当员工直接访问url时,它应该只能由客户访问,url仍然可以访问。不应该是这样Java 如何防止通过url直接访问jsp?,java,Java,我正在用java开发一个web应用程序。为了防止直接访问url,我使用了检查会话验证的代码。这是一个客户员工应用程序 在除登录页面之外的每个页面中,我都有相同的标题,其中菜单项是使用会话动态生成的,具体取决于角色。但是,当员工直接访问url时,它应该只能由客户访问,url仍然可以访问。不应该是这样 如何防止员工使用仅对客户有效的url直接访问jsp?使用筛选器仅允许经过身份验证的请求访问资源您仅在检查会话是否有效。 您需要检查其中一个会话参数,例如用户名或客户ID。应用筛选器 public cl
如何防止员工使用仅对客户有效的url直接访问jsp?使用筛选器仅允许经过身份验证的请求访问资源您仅在检查会话是否有效。 您需要检查其中一个会话参数,例如用户名或客户ID。应用筛选器
public class SessionCheck implements Filter
{
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException
{
HttpServletRequest request = (HttpServletRequest) arg0;
HttpServletResponse response = (HttpServletResponse) arg1;
if(null==((String) request.getSession().getAttribute("SESSION_PARAM_CUSTOMERID")) || ((String) request.getSession().getAttribute("SESSION_PARAM_CUSTOMERID")).equals(""))
{
response.sendRedirect(PAGE_SIGN_IN);
return;
}
arg2.doFilter(request, response);
}
}
web.xml
<filter>
<filter-name>SessionCheckFilter</filter-name>
<filter-class>
com.mycomp.filter.SessionCheck
</filter-class>
</filter>
会话检查过滤器
com.mycop.filter.SessionCheck
使用过滤器映射标记映射每个安全请求url,如下所示
<filter-mapping>
<filter-name>SessionCheckFilter</filter-name>
<url-pattern>/personal-info</url-pattern>
</filter-mapping>
会话检查过滤器
/个人信息
据我所知,您需要的是
如果用户属于角色EMPLOYEE------->相应地工作。问题是什么?你能分享你目前的工作吗?