Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过在浏览器中键入URL来防止具有来宾权限的用户访问具有管理员权限的页面?_Java_Mysql_Jsp_Web.xml_Servlet Filters - Fatal编程技术网

Java 如何通过在浏览器中键入URL来防止具有来宾权限的用户访问具有管理员权限的页面?

Java 如何通过在浏览器中键入URL来防止具有来宾权限的用户访问具有管理员权限的页面?,java,mysql,jsp,web.xml,servlet-filters,Java,Mysql,Jsp,Web.xml,Servlet Filters,我用来阻止用户在没有登录的情况下访问URL的代码 详情如下: web.xml <filter> <filter-name>Filtro_Autenticar</filter-name> <filter-class>Controlador.Filtro_Autenticar</filter-class> </filter> <filter-mapping> <filter-na

我用来阻止用户在没有登录的情况下访问URL的代码 详情如下:

web.xml

<filter>
    <filter-name>Filtro_Autenticar</filter-name>
    <filter-class>Controlador.Filtro_Autenticar</filter-class>   
</filter>

<filter-mapping>
    <filter-name>Filtro_Autenticar</filter-name>
    <url-pattern>/vistas/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>ERROR</dispatcher>
</filter-mapping>
使用此代码可能会限制对某些jsp页面的访问
取决于登录的用户?

您需要以某种方式在会话中存储用户类型。如何将用户类型引入会话取决于您的实现。例如,当用户登录时,您可以从数据库表中查找并将其放入会话中

在您的登录代码中:

 session.setAttribute("usertype", usertype_from_db);
在开始打印任何内容之前,在限制访问的页面顶部:

 String usertype = (String)session.getAttribute("usertype");
 if(!"admin".equals(usertype))
 {
   response.sendRedirect("unauthorized.jsp");
   return; //necessary to make the redirect happen right now
 }

我以这种方式发送用户数据
request.getSession().setAttribute(“user”,user)我以这种方式获取数据
Usuario user=(Usuario)session.getAttribute(“user”)if(session.getAttribute(“user”)!=null){if(“0”).equals(user.getGrupo().toString()){chain.doFilter(req,res);}else{}//solo-deja pasar a la zona restriginida al-usuario}else{//redirecciona al index.jps((HttpServletResponse)res).sendRedirect((HttpServletRequest)req.getContextPath()+“/index.jsp”);}
以及如何在筛选器等于1时进行设置
 String usertype = (String)session.getAttribute("usertype");
 if(!"admin".equals(usertype))
 {
   response.sendRedirect("unauthorized.jsp");
   return; //necessary to make the redirect happen right now
 }