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

 更新时间:2013年12月11日 10:10:21   作者:  
介绍ASP.NET中登录后,JSP可以用ASP.Net中的Session值,大家参考使用吧

思路是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的值

相关文章

  • ASP.NET页面在IE缓存的清除办法

    ASP.NET页面在IE缓存的清除办法

    ASP.NET页面在IE缓存的清除办法,需要的朋友可以参考一下
    2013-03-03
  • .net 应对网站访问压力的方案总结

    .net 应对网站访问压力的方案总结

    本文将总结下一些应对网站访问压力的技术方案。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • .Net Core中使用Grpc的方法

    .Net Core中使用Grpc的方法

    这篇文章主要介绍了.Net Core中使用Grpc的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 解决ASP.NET中的各种乱码问题总结

    解决ASP.NET中的各种乱码问题总结

    本篇文章主要介绍了解决ASP.NET中的各种乱码问题总结,非常具有实用价值,需要的朋友可以参考下。
    2016-12-12
  • asp.Net JS取母板页控件值的简单方法

    asp.Net JS取母板页控件值的简单方法

    这篇文章介绍了asp.Net JS取母板页控件值的简单方法,有需要的朋友可以参考一下
    2013-07-07
  • asp.net为网页动态添加关键词的方法

    asp.net为网页动态添加关键词的方法

    这篇文章主要介绍了asp.net为网页动态添加关键词的方法,可实现动态添加keyword meta的功能,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • ASP.NET中AJAX的异步加载(Demo演示)

    ASP.NET中AJAX的异步加载(Demo演示)

    这篇文章主要介绍了ASP.NET中AJAX的异步加载(Demo演示),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 使用asp.net的pageDataSource中时索引问题解决方法

    使用asp.net的pageDataSource中时索引问题解决方法

    当前页面在数据的除第一页的任何一个页面时,重新条件查询并且是新条件的总页数小于刚才查询得到的页码时,就会出现“索引 20 不是为负数,就是大于行数”的类似的错误
    2013-04-04
  • ASP.NET递归法求阶乘解决思路

    ASP.NET递归法求阶乘解决思路

    递归就是在过程或函数里调用自身,在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。所以一般不提倡用递归算法设计程序
    2012-12-12
  • MVC页面之间参数传递解析

    MVC页面之间参数传递解析

    这篇文章主要为大家详细介绍了MVC页面之间参数传递方法,分享了MVC页面之间传值的两种方式,一是Html.RenderPartial方式,其次是Html.RenderAction 方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04

最新评论