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

 介绍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的值
 

时间: 2024-11-03 21:27:48

jsp和asp.net共享session值示例代码的相关文章

jsp和asp.net共享session值示例代码_实用技巧

思路是ASP.NET中序列化Session以二进制数据保存到数据库,然后由JSP读取数据库中的二进制数据反序列化成Session对象,再强制转化成的Session对象,在JAVA端转换时,出现了错误,找遍网上的资料也没能解决,故采用一种替换的方式. 替换的方式的思路: 登录的ASPX文件中,在登录成功后将Session中的变量值保存到数据库中的一张表,关键字使用ASP.NET的Session对象的SessionID,然后建立一个ASPX文件,取得当前登录用户的SessionID,并使用的ASP.

让JSP与ASP.Net共享Session值

asp.net|js|session     这个话题刚开始,我的思路是ASP.NET中序列化Session以二进制数据保存到数据库,然后由JSP读取数据库中的二进制数据反序列化成Session对象,再强制转化成JAVA的Session对象,在JAVA端转换时,出现了错误,找遍网上的资料也没能解决,故采用一种替换的方式. 替换的方式的思路:     登录的ASPX文件中,在登录成功后将Session中的变量值保存到数据库中的一张表,关键字使用ASP.NET的Session对象的SessionID

ASP.NET实现多域名多网站共享Session值的方法_实用技巧

ASP.NET实现多域名多网站共享Session值 1.实现功能:可设置哪些站点可以共享Session值,这样就防止别人利用这个去访问 要想实现这个功能就必须得把Session值 放入数据库中, 所有我们先在VS命令工具下注册一个 命名如下:aspnet_regsql.exe -S [数据库服务地址] -E -ssadd 具体格式请参考 /? 添加成功后我们休要对ASP.NET生成的存储过程进行简单的修改, 打开ASP.net为我们创建的数据库"ASPState" 找到存储过程&quo

ASP生成静态首页的示例代码

简单点的,ASP生成静态首页的示例代码 <% dim objXmlHttp,binFileData,objAdoStream set objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP") objXmlHttp.open "GET","http://"&request.ServerVariables("HTTP_HOST")&"/index1.

javascript获取select的当前值示例代码

 本篇文章主要介绍了javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome) 需要的朋友可以过来参考下,希望对大家有所帮助 JavaScript获取Select当前值写法: var value = document.getElementById("select").options[document.getElementById("select").options.selectedIndex].value; var t

Jqgrid设置全选及获取选择行的值示例代码

 本篇文章主要介绍了Jqgrid设置全选(选择)及获取选择行的值示例代码.需要的朋友可以过来参考下,希望对大家有所帮助 1.添加multiselect: true   2.获取选择行的值   代码如下: var rowData = jQuery('#List').jqGrid('getGridParam','selarrrow');     if(rowData.length)      {         for(var i=0;i<rowData.length;i++)         {

js获取下拉列表框中的value和text的值示例代码

 本篇文章主要是对js获取下拉列表框<option>中的value和text的值示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 在编程过程中,我们对下拉列表框的取值很多时候都是获取option中的value,但是也有需要获取显示在页面中的值的时候,例如想获得<option value="value">ShowText</option>中"ShowText",我们该如何获取呢?方法很简单,具体代码如下:    代码

应用技巧:ASP和ASP.Net共享Session解决办法

asp.net|session|技巧|解决 在原有的asp程序中用asp.net添加功能模块,共享SESSIONs是一个难点,下面介绍一种较为简洁的方法,可以在asp和asp.net中共享session会话. 登录页面使用C#重新创建,在成功登录后执行语句: Response.Write("<script language='javascript'>window.open('ASPXTOASP.aspx','new');</script>"); 打开aspxto

如何实现Asp与Asp.Net共享Session

asp.net|session 微软.net中,Session的存储机制已经与Asp的存储机制不一样,虽然可以在同一个IIS下同时运行asp与aspx,但是它们之间不能传递Session.之前大批系统应用到了asp,在升级过程中,如果完全抛弃asp来重写,一来工作量太大,二来以前的成果不能保存下来. 所以微软提出了一个Session共享的解决方案,只是此文档光说明原理,并没有说具体的操作步骤,由此,我撰文描述过程. 简单说明原理,asp与asp.net之间的Session统一存储在数据库中来实现