学院首页 软件应用 编程开发 创意设计 认证培训 软件论坛
ASP ASP.NET PHP JSP SQL MYSQL Java VB

您的位置:学院 >> 编程开发 >> JSP >> 让JSP与ASP.Net共享Session值


让JSP与ASP.Net共享Session值


  登录的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的值。


技术文章快速查找

栏目导航
软件应用
·操作系统 ·杀毒防黑 ·应用软件
·聊天软件 ·网络软件  
Web开发
·ASP ·JavaScript ·CGI
·JSP ·VbScript ·Web服务器
·PHP ·XML  
开发语言
·VB ·VC ·ASP.NET
·Java ·C/C++ ·Delphi
数据库开发
·MySQL ·SQL/Access ·PowerBuilder
·Oracle ·DB2  
网站设计
·Flash ·Dreamweaver ·HTML/CSS
·Fireworks ·FrontPage  
平面设计
·Photoshop ·CorelDraw ·AutoCAD
·FreeHand ·Illustrator ·3DsMAX
媒体动画
·Director ·Authorware ·Maya
·视频处理    


相关软件 产品库推荐
·笔记本 ·台式机 ·服务器
·数码相机 ·手机 ·GPS
·DV摄像机 ·MP3 ·MP4
·CPU ·硬盘 ·内存
·主板 ·显卡 ·显示器
·打印机 ·投影机 ·路由器

还没人留言,抢个先,哈哈!
对"让JSP与ASP.Net共享Session值"的评论 - 快速回贴
内容:
  [完成后可按Ctrl+Enter发布]

百度中 让JSP与ASP.Net共享Session值 相关内容
Google搜索中 让JSP与ASP.Net共享Session值 相关内容
雅虎中 让JSP与ASP.Net共享Session值 相关内容
Sogou搜索中 让JSP与ASP.Net共享Session值 相关内容

相关软件 最新回复帖子:

·AutoCAD打造精致三维鸟笼实例详解
·Photoshop自定义水晶字特效样式
·AutoCAD三维基础实例教程
·PS为黑背景长发美女照片抠图换背
·用Photoshop自制个性摩托车贴花小经验
·轻松几步将美女照片处理为手工素描
·巧用Photoshop画笔轻松绘制创意特效
·用Photoshop通道将模糊肖像照片清晰化
·照片处理:Photoshop修复残破照片
·PS CS2新增形状模糊滤镜绘制花布图案


  相关软件 让JSP与ASP.Net共享Session值相关文章
用缓冲技术提高JSP程序的性能和稳定性 JBuilder2005实战JSP之程序功能介绍
JBuilder2005实战JSP之创建数据库表 JBuilder2005实战JSP之登录页面
JBuilder2005实战JSP之切换控制 JBuilder2005实战JSP之错误处理
JBuilder2005实战JSP之特殊页面 JBuilder2005实战JSP之日志和部署
利用JSP 2.0开发Web应用程序 JSP安全编程实例浅析
Taglib原理和实现之循环的Tag JSP和Struts解决用户退出问题
Taglib 原理和实现之嵌套和属性读取 JSP入门初级教程之Session的使用
Taglib 原理和实现之支持El表达式 Taglib 原理和实现之什么是Taglib
深入剖析JSP和Servlet对中文的处理 JSP入门初级教程之Taglib Directiv
JSP入门初级教程之plugin的使用 JSP入门初级教程之实现页面跳转