日期:2014-05-18  浏览次数:20767 次

一个登录的问题,不同角色登录不同页面
我现在有3种不同的角色1:root   2:user   3:supply
这3个角色的所有用户都在同一个表里   sys_user里
我现在输入一个用户ID进行登录,把登录的名字和密码传给一个servlet,来判断这个用户是root还是user或是supply。登录到不同的页面root.jsp,user.jsp,supply.jsp
我现在写了一个SQL,来判断哪个用户该登录到哪个页面
String   sql   =   "select   *   from   sys_user "   ;
if   (   !id.equals( " ")   )
{
sql   +=   "   where   ID   =   ' "   +   ID   + " ' ";
}
if(   !id.equals( " ")   )
{
sql   +=   "   where   ID   =   ' "   +   ID   + " ' ";
}
if(   !id.equals( " ")   )
{
      sql   +=   "where   ID   =   ' "   +   ID   + " ' ";
}   我大概是这么想的,但是还是不太清除   怎么实现了   谢谢大家了




------解决方案--------------------
使用过滤器,web.xml
<filter>
<filter-name> ManagerFilter </filter-name>
<filter-class> filter.ManagerFilter </filter-class>
<init-param>
<param-name> employee </param-name>
<param-value> /first.jsp,/second.jsp </param-value>
</init-param>
<init-param>
<param-name> leader </param-name>
<param-value> /gbk1.jsp,/gbk2.jsp </param-value>
</init-param>
</filter>

在过滤器中 String em = config.getInitParameter( "leader ");
得到可以访问的页面,同时截取当前url
String requestUri = request.getRequestURI();


String uri = requestUri.substring(requestUri.lastIndexOf( "/ "));
if(em.indexOf(requesturi)== -1) 他可以访问的页面不是当前url 不允许