这个好像不是EJB这种Model层做的事吧,应该是Control层(jsp,servlet)做的.

解决方案 »

  1.   

    在servlet 做判断不行吗?然后在传到相应的Session Bean
      

  2.   

    目前项目总体设计要求客户端连接AS是用CS模式的(B/S模式另外有其他人做),要用SessionBean进行用户权限管理的,要改动的话牵连很大,项目很急,只好硬闯了,迫切希望高手们能按原路指点迷津,解决这个技术问题~
      

  3.   

    用J2EE本身提供的安全策略
      

  4.   

    session bean 调用 entity bean 不就是控制权转换么?请讲这里"控制权转"是指什么?
      

  5.   

    szryx,我没接触过这种方式,可否给个具体的例子发到我的邮箱里([email protected]),谢谢
      

  6.   

    bdsc,我所说的控制权转换是说,一个session bean不是通过接口调用另一个bean(session或entity),被调用bean返回不是返回到调用者,而是向客户端返回
      

  7.   

    觉得好像过程反了,可能客户直接调用(用身份信息和操作代码)这个功能bean,由这个bean用身份信息调用验证bean更好些。我没有懂你的意思,从语法角度一个函数调用一定会返回到调用者。你总是要调用功能bean,你的验证bean不调用也要有什么去调用它,而且一定是通过接口调用。我猜你会用servlet/jsp作客户端,如果这样,你的问题就是想直接由功能bean返回html信息,你就可以不用这个servlet/jsp做两个ejb的调用。如果这样,你把response,request对象传进验证bean方法里就行了。
      

  8.   

    bdsc 说的有些道理,我想你的意思是客户端过来的是一个指令,然后是相应的数据,调用服务器端某个固定的sessionbean,服务器端sessionbean根据指令验证身份后调用相应的操作,对吗?存在的一个问题是不同操作返回值可能不一样,我建议你可以通过抛出异常来表示验证失败,其余的操作全部通过那个固定的sessionbean来返回,但是返回的是Object,然后到客户端进行转型为具体的你要的返回对象,你可以试试!
      

  9.   

    这是典型的Facade模式吧,用一个统一的sessionBean封装所有要调用的sessionBean,客户端只和这个bean交互,将要调用的sbean名作为参数传给它,返回抽象的object,客户端根据自己调用的实际sbean的名字识别转化结果对象
      

  10.   

    首先你的Bean1是不是作为一个前端控制器,如果是的话,问题其实还是由Bean1来调用其他Bean,只是如何来调用的问题?由于你的客户端应用是调用其他BEAN的信息,其实你硬是插入一个Bean1是很难的。除非你修改你的客户端调用的方式,调用Bean1,然后给Bean1某个参数来调用其他Bean,就变成了前端控制器还有一种做法是AOP!