让JSP与ASP.Net共享Session值

  这个话题刚开始,我的思路是ASP.NET中序列化Session以二进制数据保存到数据库,然后由JSP读取数据库中的二进制数据反序列化成Session对象,再强制转化成JAVA的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(用户编号)这个敏感数据了。 数据挖掘工具

  建立一张表

数据挖掘工具

  table name:

   iis_session
   field name :
   id varchar(26) --存放ASP.NET的SessionID
   userid int(4) --存放登录成功后的用户编号
   power int(4) --存放用户的权限编号 数据挖掘研究院

  ASP.NET程序源码片段:

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

数据挖掘工具

//记录 Session value 到数据库
private void WriteSession2DB(string sessionID,string sUID,string sPWR)
{
 //连接数据库代码,读者自行添加
 string sessID = sessionID;
 string strSQL = "insert into iis_session(id,userid,power) values(@seionID,@UID,@PWR)";

数据挖掘论坛

 //webmod.sqlConn是数据库的连接对象,读者自行替换成自己的数据库连接
 SqlCommand sqlCmd = new SqlCommand(strSQL,webmod.sqlConn);
 sqlCmd.Parameters.Add("@seionID",SqlDbType.VarChar).Value = sessID;
 sqlCmd.Parameters.Add("@UID", SqlDbType.Int ).Value = Convert.ToInt32(sUID.Trim());
 sqlCmd.Parameters.Add("@PWR", SqlDbType.Int).Value = Convert.ToInt32(sPWR.Trim());
 sqlCmd.ExecuteNonQuery();
 //关闭数据库连接,读者自行添加
}

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

//删除数据库中的 Session value
private void RemoveSession4DB()
{
 //连接数据库代码,读者自行添加
 string sessID = Session.SessionID;
 string strSQL = "delete from iis_session where id=’"+sessID+"’"; 数据挖掘交友

 //webmod.sqlConn是数据库的连接对象,读者自行替换成自己的数据库连接
 SqlCommand sqlCmd = new SqlCommand(strSQL,webmod.sqlConn);
 sqlCmd.ExecuteNonQuery();
 //关闭数据库连接,读者自行添加
} 数据挖掘实验室

/*一个重定向到JSP的ASPX页面,在这个ASPX页面的PAGE_LOAD中添加如下代码*/
private void Page_Load(object sender, System.EventArgs e)
{
 string strSessionID = Session.SessionID.Trim();
 String strRoot = "http://localhost/test.jsp?aspnetsessionid="+strSessionID;
 Response.Redirect(strRoot,true);
数据挖掘论坛

  JSP程序源码片段: 数据挖掘研究院

<%@ page contentType="text/html;charset=gb2312"%>
<%
/*
自己的数据库连接类,用户可以自己替换
*/
%>
<jsp:useBean id="db" scope="page" class="com.itbaby.bean.dbx.database"/> 数据挖掘论坛

<% 数据挖掘实验室

String sASPNetSessionID=request.getParameter("aspnetsessionid"); 数据挖掘实验室

//使用了连接池连接数据库,用户可以替换成自己的
String sDBSourceName="itbaby_dbpool";
db.dbConnOpen(sDBSourceName); 数据挖掘工具

String sSql="select userid,power from iis_session where id=’"+sASPNetSessionID+"’";

数据挖掘论坛

//读者自己替换读出结果集的代码
java.sql.ResultSet rs=db.getRs(sSql); 数据挖掘研究院

if(rs.next())
{
 String sUID = rs.getString(1);
 String sPower = rs.getString(2); 数据挖掘论坛

 /*将数据库中对应的SESSIONID的值读出来,并显示,如果ASP.NET的SESSION超时,将没有值*/
 out.print("<H1>ASP.Net Session Value UserID = "+sUID+"</H1><br><br>");
 out.print("<H1>ASP.Net Session Value Power = "+sPower+"</H1><br><br>");
}
rs.close();
db.dbConnClose(); 数据挖掘论坛

%> 数据挖掘交友

  好了,虽然不是很好的方法,但也可以用,也同样保护了用户的一些敏感数据,我将继续考虑使用序列化和反序列化的方式来达到不同的WEB语言之间共享Session对象而不是上面的,共享Session的值。

数据挖掘研究院

[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:JSP/Servlet的重定向技术综述
下一篇:Taglib原理和实现之循环的Tag
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • Java学生成绩管理系统源代码
  • Servlet动态产生JPEG图像的例子
  • JSP数据导出到EXCEL简便方法
  • JSP像乌云般挡住了JSF的光芒
  • Java EE5.0时代来临,金蝶Apusic抢先撞线!
  • JSP不是简化的Java
  • 在JSP中如何实现MD5加密
  • JSP/Servlet/JSF:标签库的深入研究
  • jsp计数器制作手册
  • jsp页面显示数据导出到excel表中
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • Java EE5.0时代来临,金蝶Apusic抢先撞线!
  • JSP像乌云般挡住了JSF的光芒
  • jsp计数器制作手册
  • 面向对象编程,我的思想(5)
  • jsp读取大对象CLOB并生成xml文件示例
  • JSP开发前菜鸟设置篇
  • JRun3.0配合IIS的安装全过程
  • win2000下jsp平台搭建的简单过程
  • IIS6和Tomcat5的整合
  • Windows下JSP开发环境的配置
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静