takizawajin 2011-11-24 12:16
浏览 314
已采纳

A系统调用B系统JSP页面鉴权问题

现在情况是这样:

有A系统 和 B系统

 

B系统的想要直接打开A系统中的一个JSP页面

 

要求:

1、在B系统登录的时候调用A系统 的一个webService接口。

2、然后在B系统 页面中添加一个链接 ,链接URL就是A系统 中的一个JSP页面

3、要求在B系统 链接 A系统 JSP页面的URL中不带任何参数

4、不能让A系统 的这个JSP页让其它的系统打开。只能为B系统 打开

 

想问一下,这个webService应该怎么设计。或是有什么更好的其它办法。

  • 写回答

3条回答 默认 最新

  • jiangguangxian 2011-11-24 14:08
    关注

    [quote]
    1、在B系统登录的时候调用A系统 的一个webService接口。
    2、然后在B系统 页面中添加一个链接 ,链接URL就是A系统 中的一个JSP页面
    3、要求在B系统 链接 A系统 JSP页面的URL中不带任何参数
    4、不能让A系统 的这个JSP页让其它的系统打开。只能为B系统 打开
    [/quote]
    方案一:
    你可以通过webserivce生成一个随机的sessionKey.jsp 来访问A的界面,A系统中的原有界面pagetest.jsp,在过滤器中过滤掉不允许直接访问,而在filter中如果访问的是sessionKey.jsp,那么就转向 pagetest.jsp.

    缺点:如果当前B系统连接在,如果被别人窃取到url还是可以访问的,不过关系不大。

    方案二:
    1. 通过webserivce建立访问的session,在A系统 cookie中塞入值。
    2. B系统不能用 连接直接访问,而是通过一个servlet或者其他程序,先将生成的key设置到cookie中在访问,在A的页面中先验证cookie信息。
    webservice用作建立共同的cookie中的key

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站