当用户使用智能窗打开系统内页时,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 获得服务器端脚本运行后的返回值