当用户使用智能窗打开系统内页时,SESSION值如何传递的问题:
一、WebOffice使用URL TOKEN解决方案:
=================================
1、当用户登陆系统时,记下当前机器的IP、用户的帐号名称和登陆时间存入数据库等字段,并将帐号名和登陆时间统一成字符串后进行MD5加密产生一个密码串并根据需要把要用的SESSION值存入数据库相应字段里。
2、在打开智能窗时把账号名和MD5加密串分别用URL参数如http://www.aa.com/aa.jsp?fileid=1&user=账号名&token=MD5加密串,进行传递
3、在aa.jsp通过获得的账号名,找到库里存储的此账号在当前访问的机器IP最近一次登陆的时间,通过前面登陆时使用的加密算法对账号和从库里取出的时间进行MD5加密,得出一个新的加密字符串,如果此加密字符串与网址里aa.jsp?fileid\=1&user=账号名&token=MD5加密串里token参数的值一至且机器IP地址一致,则一定是同一个人操作,接下来再到库中把对应的SESSION值读取出来就可以了。
验证通过!
二、WebOffice使用设置网页头认证信息解决方案:
==========================
通过控件内置的HttpSetHeader方法将要传递的TOKEN放到头信息里,具体用法如下:
语法:HttpSetHeader("Authorization",Token)
示例:WebOffice.HttpSetHeader("Authorization","eySowLIjs2lxaowwawrqwryiomcPasx.asdf290uie");
此方法在调用HTTPPOST方法保存数据前调用,将会修改控件上传文件时的头信息,具体代码示例如下:
var strSaveUrl="http://服务器路径/postsave.jsp";//修改为接收器的实际地址
var WebOffice = document.getElementById('WebOffice');//获得控件对象
WebOffice.HttpInit();
WebOffice.HttpAddPostCurrFile("docfile","");//控件读取本地编辑的OFFICE文档
WebOffice.HttpSetHeader("Authorization","eySowLIjs2lxaowwawrqwryiomcPasx.asdf290uie");//设置头信息
var strResults=WebOffice.HttpPost(strSaveUrl);
//strResults 获得服务器端脚本运行后的返回值
- 序言
- 产品简介
- WebOffice试用版与正式版的区别
- WebOffice对客户端的要求
- WebOffice客户端安装步骤
- WebOffice服务器配置
- 新手基本集成方法(必学)
- 1.WebOffice工作原理架构
- 2.我的第一个WebOffice程序:Hello World!
- 3.实现WebOffice保存文档到服务器
- WebOffice部份功能实现与说明
- 为什么使用弹窗(智能窗技术)方式打开文档
- OA发文文档在线编辑及流转
- 使用RunMacro运行Office的宏
- 智能窗基本使用方法(地址栏隐藏、窗口大小定义)
- 智能窗Session共享的解决方案
- VBA编程根接口:ActiveDocument
- 更多功能实现请见示例