<% Class Ssouser '定义私有变量,sso用户的基本信息 Private user_id,user_name,user_email,user_ip '初始化类 private Sub Class_Initialize user_id = 0 user_name = "" user_email = "" Call checkLogin() End Sub Public Property Get UserId UserId = user_id End Property Public Property Get UserName UserName = user_name End Property Public Property Get UserEmail UserEmail = user_email End Property Public Property Get UserIP UserIP = user_ip End Property '检测是否登录 public Sub checkLogin if session("sso_username")="" then Call verfyToken() if user_id > 0 and user_name <> "" then session("sso_username") = user_name session("sso_userid") = user_id response.Write ""& vbNewLine end if else user_id = session("sso_userid") user_name = session("sso_username") response.Write ""& vbNewLine end if 'response.Write "sso_username: " & session("sso_username") & vbNewLine 'response.Write "sso_userid: " & session("sso_userid") & vbNewLine end Sub '验证用户票据并填充用户信息 Public Sub verfyToken Const ssoProto = "http" Const ssoServer = "sso.it168.com" Const ssoPort = ":80" Const ssoFn = "Service" Const ssoAct1 = "verify" Const ssoAct2 = "getUser" Const ssoAct3 = "getUid" 'action array in (verify, getUser, getUid, verifyPassword, login, directCreate, check) dim ssoPath, xmlRs, xmlhttp, sso_token, args, arrayRs ssoPath = ssoProto & "://" & ssoServer & ssoPort & "/" & ssoFn sso_token = Request.Cookies("sso_token") if sso_token = "" then sso_token = Request.QueryString("sso_token") end if 'sso_token = request("sso_token") 'user_ip = request.servervariables("remote_addr") if isempty(request.ServerVariables("HTTP_X_FORWARDED_FOR")) then user_ip = Request.ServerVariables("REMOTE_ADDR") else user_ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") end if 'user_ip = "59.151.56.230" 'user_ip = "61.4.182.2" '测试token是否有效 'response.write sso_token 'response.end 'Set xmlhttp = server.CreateObject("Msxml2.XMLHTTP") Set xmlhttp = server.CreateObject("Microsoft.XMLHTTP") '检验sso_token合法性 args = "act=" & ssoAct1 & "&sso_token=" & sso_token & "&level=2&user_ip=" & user_ip xmlhttp.Open "POST", ssoPath, False 'Response.Write( ssoPath & vbNewLine ) 'Response.Write( args & vbNewLine ) xmlhttp.setRequestHeader "content-length", len(args) xmlhttp.setRequestHeader "Content-Type: ", "application/x-www-form-urlencoded" if not IsEmpty(Request.ServerVariables("URL")) then xmlhttp.setRequestHeader "Referer", Request.ServerVariables("URL") end if xmlhttp.send args if xmlhttp.Status = 200 then 'chkeck token 'Response.Write "
token是否有效:" xmlRs = xmlhttp.responseText 'Response.Write( xmlRs & vbNewLine ) if left(xmlRs, 1) = "1" then 'Response.Write "yes" 'get User_id arrayRs = split(xmlRs, "::") 'if isarray(arrayRs) then ' Response.Write "
ok" ' For i = LBound(arrayRs) To UBound(arrayRs) ' Response.Write("返回值数组中的元素[" & i & "]:" & arrayRs(i) & "
") ' Next 'end if user_id = arrayRs(1) 'Response.Write "
用户ID:" 'Response.Write user_id 'get username 'Response.Write "
用户名:" 'Response.Write arrayRs(1) user_name = arrayRs(2) 'get user's email 'Response.Write "
用户邮件地址:" 'Response.Write arrayRs(3) user_email = arrayRs(4) 'else ' Response.Write "no" end if else Response.Write("Server Error.
") Response.Write("status = " & xmlhttp.status) Response.Write("
" & xmlhttp.statusText & "
" & xmlhttp.responseText) Response.Write("
" & Request.ServerVariables("ALL_HTTP") & "
") end If End Sub End Class %> diy攒机社区
 行情:北京 上海 广州 深圳 沈阳 济南 郑州 武汉 长沙 南京 西安 成都 昆明
e杂志下载
 首页 | 资讯 网刊 视频 评测  企业:服务器 网络 存储 通信 安全 技术开发 信息化-方案 | ITPUB IXPUB
 商务笔记本 台式机 投影机 打印扫描 办公产品 耗材 软件 学院 下载 驱动  家庭数字家电 家庭组网
 个人DIY硬件 | 手机 GSM CDMA 无线电 GPS | 数码影像 DC DV | 消费数码 MP3 | 论坛 博客 | 经销商社区
 报价中心 三维图秀 产品评论 产品大全 使用手册 术语详解 厂商专区 二手市场 维修服务 疑难解答 IT搜索
攒机首页 | 攒机周周赛 |我发布过的方案 | 我评论过的方案 | 收藏夹 | 个人资料 | 排行榜
" response.Write strTable 'end if 'end if 'if ssoc.UserId <= 0 and ssoc.UserName="" then else %> <% end if %>
<% Response.Expires = 0 Response.Expiresabsolute = Now() - 1 Response.AddHeader "pragma","no-cache" Response.AddHeader "cache-control","private" Response.CacheControl = "no-cache" %> <% dim str,host,url,keyword,full '得到本页地址 str="http://" host = Request.ServerVariables("HTTP_HOST") url = Request.ServerVariables("PATH_INFO") '或url keyword = Request.ServerVariables("QUERY_STRING") if keyword <> "" then full = str&host&url&"?"&keyword else full = str&host&url end if 'response.Write full 'response.End() url=Server.URLEncode(full) session("sso_userid") = "0" session("sso_username") = "" Set ssoc = New Ssouser 'ssoc.checkLogin 'response.Write(ssoc.UserId&"NNNNNNNNNNNNNNNNNNNNNNNNNNNn") 'response.Write(ssoc.UserName) 'sso_token = request.Cookies("sso_token") 'if sso_token <>"" then if ssoc.UserId<>"" and ssoc.UserId<>"0" and ssoc.UserName<>"" then user_id=ssoc.UserId user_name=ssoc.UserName ' and full<>"http://cuanji.it168.com" if Request.Cookies("diy_"&user_id)<>"true" then Response.Cookies("diy_"&user_id)="true" response.Redirect "http://diybbs.it168.com/logging.php?action=login&return="&url end if if session("diyuser_"&user_id)<>"true" then session("diyuser_"&user_id)="true" 'response.Redirect "/include/loginjifen.aspx?return="&full end if set conn = server.createobject("adodb.connection") conn.open "provider=sqloledb;server=219.232.239.180;database=udc_diy;uid=udc_diy;pwd=udc_diy@It1^8;network=dbmssocn" set rs = server.createobject("adodb.recordset") '参看短信息--------------------- sqlmessage="select * from tbl_diy_usermessage where user_id='"&user_id&"' and chakan=0" rs.open sqlmessage,conn,3 if not rs.eof then strTable=strTable+"欢迎:"&user_name&"" else strTable=strTable+"欢迎:"&user_name&"  " end if rs.close conn.close '--------------------------------- strTable=strTable+"退出
忘记密码 / 使用帮助
公告区
·攒机双周赛 赢千元现金
·攒机比赛重要公告
  攒机社区周周赛从下周开始进行调整,每两周举行一次比赛,每次比赛持续两周,并取消月赛。
 网友配置搜索
 智能配置推荐
关于皓辰 | 关于IT168 | 合作伙伴 | 广告服务 | 使用条款 | 投稿指南 | 诚聘精英 | 联系我们 | 法律顾问 | 简体版 繁体版
CopyRight 1999-2006 www.it168.com All Right Reserved.
北京皓辰网域网络信息技术有限公司. 版权所有 E-mail:Webmaster@it168.com
京ICP证:060528号