整合实现:
1.PE登陆以后进入blog实现自动注册(blog中没有用户数据时),自动登陆(blog中已经存在同名用户)
2.可以将blog嵌入PE用户控制面板
3.注销blog则PE同时注销,注销PE则Blog也无法登陆(注意这里所说的是“无法登陆”而blog并没有真正注销,用户cookie数据仍然保留着,而是在新的PE用户进入Blog时经过判断登陆用户名与cookie不一致,才清空上一次的用户cookie数据)
整合方法:
一、整合注意:
如果你的Blog需要整合入PE用户控制面板后台中的,则需要将user_chkpass.asp文件覆盖;反之则不需要覆盖。此方法可自行选择,由于需要<iframe>而屏蔽了Blog对连接地址的检测,由此导致的用户数据泄密等问题不予负责。
二、整合步骤
把压缩包解开,将文件覆盖入Blog目录中,如果你的Blog安装于动易网站的Blog目录下的话,则不需要任何修改即可使用。
如果你的Blog安装于其他目录的,则需要进行如下修改:
count.asp
查找下面的字串:
==================================================
sub showlogin()
response.write "document.write('<table align=center width=100% border=0 cellspacing=0 celpladding=0>');"
response.write "document.write('<form action="&blogurl&"User_ChkLogin.asp method=post name=UserLogin onSubmit=return CheckForm();>');"
response.write "document.write('<tr><td height=25 align=right>用户名称:</td><td height=25><input name=UserName type=text id=UserName size=12 maxlength=20></td></tr>');"
response.write "document.write('<tr><td height=25 align=right>登陆密码:</td><td height=25><input name=Password type=password id=Password size=12 maxlength=20></td></tr>');"
response.write "document.write('<tr><td height=25 align=right>Cookie:</td><td height=25><select name=CookieDate><option selected value=0>不保存</option><option value=1>保存一天</option>');"
response.write "document.write('<option value=2>保存一月</option><option value=3>保存一年</option></select></td></tr>');"
response.write "document.write('<tr align=center><td height=30 colspan=2><input name=Login type=submit id=Login value= 登录 > ');"
==================================================
把下面那行用户注册与忘记密码的连接地址修改为你的PE用户注册和忘记密码的连接地址。
inc/syscode.asp
查找下面的字串:
==================================================
sub ShowUserLogin()
if CheckUserLogined()=False then
dim regurl,gpurl
if ot_user then
regurl="<a href='"&ot_regurl&"' target='_blank'>"
gpurl="<a href='"&ot_lostpasswordurl&"' target='_blank'>"
else
==================================================
把下面那行用户注册与忘记密码的连接地址修改为你的PE用户注册和忘记密码的连接地址。
inc/function.asp
查找下面的字串
==================================================
bstr= "<center><a style='color: #444444' href='index.asp'>站点首页</a> | <a style='color: #444444' href='mailt"&webmasteremail&"'>联系我们</a>
==================================================
把字串后边的博客注册的连接地址修改为你的PE用户注册的连接地址。
非Blog安装目录的修改完毕
三、整合过程思路
在第三部分讲解一下我整合oBlog的过程和思路,仅供对asp喜欢且有兴趣的朋友作为参考,以便能将更多的程序整合进动易中。(我也是根据整合oBlog的思路把我的网站的交友程序也整合进来了*^_^*)
1)inc/function.asp
这个文件的function CheckUserLogined()是根据cookie检测用户是否登陆的,所以这部分的修改比较重要,出问题最多的也是这部分 -_-!
首先在文件开始的地方定义一下动易的用户接口
加入了下面的代码
==================================================
<!-- #Include Virtual="../UserInfo.asp" -->
<%
dim username,userlevel
'定义动易通用接口类
Dim MyPE
'完毕
'初始化动易通用接口类
Set MyPE = New PE_UserInfo
'完毕
==================================================
然后在function CheckUserLogined()部分,做了比较大的修改。
==================================================
'整合开始
dim Logined,Password,rsLogin,sqlLogin,PasswordPE'定义动易密码变量
Logined=True
PasswordPE=MyPE.Password'取动易密码
'取博客cookie
UserName=DecodeCookie(Request.Cookies(cookiesname)("UserName"))
Password=DecodeCookie(Request.Cookies(cookiesname)("Password"))
userlevel=DecodeCookie(Request.Cookies(cookiesname)("userlevel"))
if userlevel<>"" then userlevel=cint(userlevel)
'判断博客是否有登陆
if UserName="" then
Logined=False
end if
if Password="" then
Logined=False
end if
'定义变量
dim rsPE,sqlPE,rsUserPE,sqlUserPE,LoginNum
'判断动易是否登陆
if MyPE.UserName<>"" then
'如果当前动易登陆与博客cookie中用户名不同则清空cookie
if UserName<>MyPE.UserName then
Response.Cookies(cookiesname)("UserName")=CodeCookie("")
Response.Cookies(cookiesname)("Password")=CodeCookie("")
Response.Cookies(cookiesname)("userlevel")=CodeCookie("0")
Logined=False
end if
'如果动易登陆,检查博客数据库是否有该用户名
if PasswordPE<>
assword then
Set rsUserPE=Server.CreateObject("Adodb.RecordSet")
sqlUserPE="select * from [user] where Username='" & MyPE.UserName & "'"
rsUserPE.Open sqlUserPE,Conn,1,3
'该用户名存在,则同步一次用户密码入博客数据库(避免用户中途修改密码导致博客密码错误)
If not(rsUserPE.bof and rsUserPE.eof) then
rsuserPE("UserPassword")=PasswordPE
rsUserPE.update
rsUserPE.Close
set rsUserPE=nothing
end if
'清空博客的cookie(避免cookie中用户密码与数据库中密码不相同的情况)
Response.Cookies(cookiesname)("UserName")=CodeCookie("")
Response.Cookies(cookiesname)("Password")=CodeCookie("")
Response.Cookies(cookiesname)("userlevel")=CodeCookie("0")
end if
'如果博客cookie中没有用户信息
if Logined=False then
sqlPE="select * from [user] where Username='" & MyPE.UserName & "'"
set rsPE=conn.execute(sqlPE)
'判断博客库中是否存在该用户,如果无则自动调用动易用户数据注册
If rsPE.bof and rsPE.eof then
Response.Write "<form name=reg method=post action=user_chkreg.asp>" & vbCrLf
Response.Write " <input name=username type='hidden' value='" & MyPE.UserName & "'><br>" & vbCrLf
Response.Write " <input name=nickname type='hidden' value='" & MyPE.UserName & "'><br>" & vbCrLf
Response.Write " <input name=password type='hidden' value='" & MyPE.Password & "'><br>" & vbCrLf
Response.Write " <input name='codestr' type='hidden' value='" & Session("GetCode") & "'><br>" & vbCrLf
Response.Write " <input name=question type='hidden' value='" & MyPE.Question & "'><br>" & vbCrLf
Response.Write " <input name=an type='hidden' value='" & MyPE.Answer & "'><br>" & vbCrLf
Response.Write " <input name=email type='hidden't value='" & MyPE.Email & "'><br>" & vbCrLf
Response.Write " <input name=blogname type='hidden' value='" & MyPE.UserName & "'><br>" & vbCrLf
Response.Write " <input name=sex type='hidden' value='" & MyPE.Sex(0) & "'><br>" & vbCrLf
Response.Write " <input name=usertype type='hidden' value=1><br><br>" & vbCrLf
Response.Write "</form>" & vbCrLf
Response.Write "<script language='javascript'>" & vbCrLf
Response.Write "reg.submit();" & vbCrLf
Response.Write "</script>" & vbCrLf
'该用户存在则自动登陆
else
Response.Write "<form name='Login' action='userPE_ChkLogin.asp' method='post'>" & vbCrLf
Response.Write " <input name='UserName' type='hidden' value='" & MyPE.UserName & "'><br>" & vbCrLf
Response.Write " <input name='Password' type='hidden' value='" & MyPE.Password & "'><br>" & vbCrLf
Response.Write " <input name='CookieDate' type='hidden' value='" & MyPE.CookieDate & "'><br>" & vbCrLf
Response.Write "</form>" & vbCrLf
Response.Write "<script language='javascript'>" & vbCrLf
Response.Write "Login.submit();" & vbCrLf
Response.Write "</script>" & vbCrLf
end if
else
'如果博客cookie中有用户信息,在博客数据库中查找动易用户是否注册,没有注册的则调用自动注册
sqlPE="select * from [user] where Username='" & MyPE.UserName & "'"
set rsPE=conn.execute(sqlPE)
If rsPE.bof and rsPE.eof then
Response.Write "<form name=reg method=post action=user_chkreg.asp>" & vbCrLf
Response.Write " <input name=username type='hidden' value='" & MyPE.UserName & "'><br>" & vbCrLf
Response.Write " <input name=nickname type='hidden' value='" & MyPE.UserName & "'><br>" & vbCrLf
Response.Write " <input name=password type='hidden' value='" & MyPE.Password & "'><br>" & vbCrLf
Response.Write " <input name='codestr' type='hidden' value='" & Session("GetCode") & "'><br>" & vbCrLf
Response.Write " <input name=question type='hidden' value='" & MyPE.Question & "'><br>" & vbCrLf
Response.Write " <input name=an type='hidden' value='" & MyPE.Answer & "'><br>" & vbCrLf
Response.Write " <input name=email type='hidden't value='" & MyPE.Email & "'><br>" & vbCrLf
Response.Write " <input name=blogname type='hidden' value='" & MyPE.UserName & "'><br>" & vbCrLf
Response.Write " <input name=sex type='hidden' value='" & MyPE.Sex(0) & "'><br>" & vbCrLf
Response.Write " <input name=usertype type='hidden' value=1><br><br>" & vbCrLf
Response.Write "</form>" & vbCrLf
Response.Write "<script language='javascript'>" & vbCrLf
Response.Write "reg.submit();" & vbCrLf
Response.Write "</script>" & vbCrLf
end if
end if
rsPE.close
set rsPE=nothing
else
Logined=False
end if
'完毕
这部分我在代码里也做了比较详细的注释,大家可以慢慢看,很好理解的。