jsp和asp.net共享session值示例代码

 更新时间:2021年9月22日 10:13  点击:2246

思路是ASP.NET中序列化Session以二进制数据保存到数据库,然后由JSP读取数据库中的二进制数据反序列化成Session对象,再强制转化成的Session对象,在JAVA端转换时,出现了错误,找遍网上的资料也没能解决,故采用一种替换的方式.

替换的方式的思路:

登录的ASPX文件中,在登录成功后将Session中的变量值保存到数据库中的一张表,关键字使用ASP.NET的Session对象的SessionID,然后建立一个ASPX文件,取得当前登录用户的SessionID,并使用的ASP.NET重定向语句,转到JSP文件,该URL请求的路径格式为test.jsp?aspnetsessionid=ffj12d455p0ujr45vdqwhh45,如果ASP.NET没有登录或登录不成功,虽然有SessionID的值,但数据库中是没有该SessionID关联的数据可能有的读者发现,不用test.jsp?aspnetsessionid=ffj12d455p0ujr45vdqwhh45这样的请求的路径也可以完成,是的,可以用test.jsp?userid=1111这样的方式也传递值,当然userid是由ASP.NET登陆成功后,取得的值,但这样有些用户就可以知道USERID这个敏感数据了.

建立一张表

复制代码 代码如下:

tablename:
iis_session
fieldname:
idvarchar--存放ASP.NET的SessionID
useridint--存放登录成功后的用户编号
powerint--存放用户的权限编号

复制代码 代码如下:

//登录成功后,可将下列CODEING放在登录的验证ASPX页面中/

//记录Sessionvalue到数据库
privatevoidWriteSession2DB

//当用户退出系统,将数据库中对应的SessionID的一行数据删除,可放在退出页面,或Global.asax的Session_END过程中/

//删除数据库中的Sessionvalue
privatevoidRemoveSession4DB

//一个重定向到JSP的ASPX页面,在这个ASPX页面的PAGE_LOAD中添加如下代码/
privatevoidPage_Load

复制代码 代码如下:

<%@pagecontentType="text/html;charset=gb2312"%>
<%
/
自己的数据库连接类,用户可以自己替换
/
%>
<jsp:useBeanid="db"scope="page"/>

<%

StringsASPNetSessionID=request.getParameter;

//使用了连接池连接数据库,用户可以替换成自己的
StringsDBSourceName="itbaby_dbpool";
db.dbConnOpen;

StringsSql="selectuserid,powerfromiis_sessionwhereid=‘"+sASPNetSessionID+"‘";

//读者自己替换读出结果集的代码
java.sql.ResultSetrs=db.getRs;

if)

rs.close;

db.dbConnClose;

%>

好了,虽然不是很好的方法,但也可以用,也同样保护了用户的一些敏感数据

我将继续考虑使用序列化和反序列化的方式来达到不同的WEB语言之间共享Session对象而不是上面的,共享Session的值

[!--infotagslink--]

相关文章

  • jsp和asp.net共享session值示例代码

    介绍ASP.NET中登录后,JSP可以用ASP.Net中的Session值,大家参考使用吧...2021-09-22
  • php实现session多域名多服务器共享session_id

    我们可以把sessionid保存在数据库中得以实现,这个方法比较安全而且应用广泛,但是不是我们讨论的范围哦,下面只讲简单的 首先验证的时候产生一个sessionid; ...2016-11-25
  • php 不同服务器共享session问题

    一、问题起源 稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网站,用户系统是统一的,即一套用户名、密码在整...2016-11-25
  • php实现主域名与二级域名共享session并单点登录

    其实php下cookies或session实现多二级域名同时登录小编觉得还是比较简单了,下面一起来看一个例子吧. 公司网站设置了几个二级域名,老板要求无论会员走到哪个域名,主域...2016-11-25
  • PHP 中 Session阻塞及垃圾回收 Redis共享Session

    本文我们将详细介绍PHP中关于Session的知识,主要内容有: Session 和 Cookie 有什么关系,为什么不推荐使用 PHP 自带的 files 型 Session 处理器,如何设置一个严格30分钟...2016-11-25
  • Nginx中共享session会话配置方法例子

    这篇文章主要介绍了Nginx中共享session会话配置方法例子,最后使用第三方模块upstream_hash解决了这个问题,需要的朋友可以参考下...2016-01-27
  • 多Web服务器之间共享Session的解决方案

      很多开发中涉及到用户的Session验证很保留的问题,这个问题比较有意思,总结了几种方案,只供参考。   [ 问题提出 ]   为了满足足够大的应用,满足更多的客户,于是我...2016-11-25