现有客户端程序A已经安装在客户机上,服务端程序B安装在服务器C上,另有ASP.Net网站一套D也部署在服务器C上,A、B、D使用同一套数据库,A在打开时需要请求C以验证登录信息, 现在需要实现以下的功能:
A已经在客户机上登录时,用户在在客户机的浏览器上打开D网站时,不需要二次登录。
功能其实跟QQ和QQ空间的关系一样,QQ已经登录了,浏览器打开QQ空间,直接点击快速登录就可以了。
请问有什么方案能解决这个问题,可以是在浏览器上装插件、ActiveX控件等,我会的语言如下:C#、VB6、Delphi
楼上的人都不靠谱
你需要的是 OAuth 2.0
这个是要用SSO,我的问题是我是否要采用ActiveX插件,如果是,我怎么去实现SSO这个过程,WebKit的浏览器又怎么办;如果不是,有没有其他的解决办法;
PS:不是一个网站登录了,另一个网站不用登录,而是一个是桌面应用登录了,打开浏览器去浏览Web应用的时候不用再登录了的解决方案。
偷懒的方法,写一个接口,传入用户名和密码,然后进行登陆,登陆成功则跳转到对应的主页。
哦。看错了。要点快速登陆。。。那可能就需要开发控件了。
开发控件的话,具体有什么思路么?
@Kevin.Choi: ActiveX不是很了解,另外是不是可以开发一个单独的程序去监控请求,如果请求的是你的D网站,塞入当前登陆用户的用户名和密码,然后进行Session之类的判断,没Session再登陆。
看了半天,没看出来"服务端程序B安装在服务器C上"这句话有什么用处。
服务端程序B安装在服务器C上,另有ASP.Net网站一套D也部署在服务器C上,A、B、D使用同一套数据库
意思是说,是你在提供解决方案的时候,不必考虑数据共享的问题,他都在一台服务器,不需要考虑更复杂的分布式环境等等。
保存个txt加密文本即可。
SSO,请参考2楼提供的资料,靠谱!
不知道你B是做什么用的?我猜估计是webservice,既然你共享数据库,我感觉你B就没什么用了吧,至于你登录问题,你都共享数据库了还有什么不能单点登录呢?你在数据库上建个登录信息表,专门记录已登录的用户信息.
知道CS不?唉,剩下的我也不解释了。