意思就是在进入这个页面之前,进行判断,如果有权限,就进入,否则,就跳出!这是实现思想,我觉得和 struts没有什么关系!而且,实现方法也很多!

解决方案 »

  1.   

    不妨详细说一两种,
    用每张jsp页面嵌入一段基于session的权限判断的这种方法不能算,我当时也是这样回答的,但面世官说我没理解他的意思。
      

  2.   

    一般的系统,都用一个权限控制模块,比如:你如果没有某个模块的权限,你登陆后的界面,就没有相关的连接,让你来用。这个可以理解为第一级的控制。(你的那种方法是,先到哪个页面,如果没有权限再跳出。
      而我的这个思想是,先判断有没有权限,再让进入。)但是,这样不能防止用户在地址栏里直接输入相关的模块的 url ,那么,对用户进入模块以后,对数据库操作的时候,比如:要查询信息,你可以在查询语句后边带上 where 1=1 ..... and  userid = "登陆用户的userid" ;这样,就算他进入了模块,其实也只能查到他有权限的数据,如果他没有任何权限,就查不到任何数据,尽管执行了查询的过程。这是第二层的控制。一般的系统,这样控制就可以了,(我目前也只做到了这个层次)等待补充,共同学习!
      

  3.   

    这不就是传说中的权限控制吗,与struts何干?怀疑面试官本身不懂
      

  4.   

    呵呵 如果非要和Struts相关,你看是不是这样理解。当你确定进入者为A或B用户以后。在调用显示页面的时候使用。
    <logic:present scope="request" name="A">
    <bean:write name="valid_user" property="name"/> <%-- 可以不要 --%>
    <tiles:insert page="user_A_only.jsp" flush="true"/>
    <%-- 或者直接写入只有A能看的jsp页面代码 哈哈 --%>
    </logic:present>
    同样的,如果是B则进入相应B的页面。
    我估计他的意思可能是有的时候一些用户是固定的,例如系统中的管理员,总是固定的用户名,然后进入固定的界面。只要通过了密码验证就进入界面,并拥有该界面的全部权限,无须判断其他权限什么的。呵呵 我的个人理解哈(顺便借贵宝地说一下,各位回复的老大记得帮忙看看我的问题啊。谢谢 ^_^)