首页 新闻 会员 周边 捐助

C#MVC想通过A项写不进去目给B项目写一个session

0
悬赏园豆:100 [已解决问题] 解决于 2019-03-15 17:31

【如果是我的思路本来就有问题,也请指出,谢谢】最近在做单点登录,我个人写了个项目叫B项目,这个项目是MVC架构的,通过账号密码登录,后来领导通知要把这个项目放在A平台上统一管理,也就是说登录A平台后,找到我的项目单机就直接进入系统不用账号密码,AB通用的ID是身份证号,也就是说只要登录进去A平台,就让它无条件进入B项目进行查询,B项目之前是通过Session缓存来查询每个页面的,我想到的方法是,A平台单击我的项目链接的时候挂上B的主页,先给B项目写个Session,然后它就可以访问每个页面了,现在的问题是,我用Ajax给B写Session跟踪是可以的,但是不能访问其它页面,每次都返回B项目登录页面(B项目是只要Session丢失就会返回主页),如果B通过账号自己登录,A请求访问B每个页面都

没问题!大神给指点下吧!

假装坏坏的主页 假装坏坏 | 初学一级 | 园豆:122
提问于:2019-03-12 17:59
< >
分享
最佳答案
0

我之前参与的一个 系统, 中国上海(A系统) 扥登录,然后跳转到对应的 上海市的系统(B系统), 中间是通过 跳转到一个 web页面, 生成一串guid 的 token(只能用一次),然后这个 中转页面根据这个 token,去回调 A的接口,拿到 A传给B的信息(接口传的参数只能调用一次), 中转页面拿到这个 信息,存下来, 对B系统 提供一串 guid (新的 token), B拿到数据就和中转 做关联 (读取url地址栏, 获取新token,拿到对应的验证信息, 记录cookie) 这样实现 A=>B的登录

收获园豆:100
兴想事成 | 小虾三级 |园豆:540 | 2019-03-14 11:23

你好,从A拿到数据后,登录到B这点能详细说下嘛?

假装坏坏 | 园豆:122 (初学一级) | 2019-03-15 14:37

@假装坏坏: 用tokne 回调A的验证接口, A会返回验证后的信息, 比如给你userid, 然后B拿这个userid 到数据库里面查 ,userid 这个人是不是有值, 如果有, 写入session, 跳转 到 对应的 办 事地址.

兴想事成 | 园豆:540 (小虾三级) | 2019-03-15 19:18
其他回答(3)
0

不是太确定纯粹ajax浏览器是否会对http头进行管理,但是页面是肯定的,你可以试试iframe隐藏。

花飘水流兮 | 园豆:13595 (专家六级) | 2019-03-12 18:40

弱弱的问下,我这样操作对不对,是不是方向有问题?

支持(0) 反对(0) 假装坏坏 | 园豆:122 (初学一级) | 2019-03-12 18:59
0

呵呵

wenpengsoft | 园豆:202 (菜鸟二级) | 2019-03-13 01:37

弱弱的问下,我这样操作对不对,是不是方向有问题?

支持(0) 反对(0) 假装坏坏 | 园豆:122 (初学一级) | 2019-03-13 08:04
0

把post请求换成get试试。

一禅·小和尚 | 园豆:519 (小虾三级) | 2019-03-13 09:32

不行,试过了

支持(0) 反对(0) 假装坏坏 | 园豆:122 (初学一级) | 2019-03-13 10:25

@假装坏坏: 肯定跨域方面没处理好,着急的话,addsession后返回sessionid,下次请求带上。

支持(0) 反对(0) 一禅·小和尚 | 园豆:519 (小虾三级) | 2019-03-13 10:27

@一禅·小和尚: 你好,没处理好是指?

支持(0) 反对(0) 假装坏坏 | 园豆:122 (初学一级) | 2019-03-13 14:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册