我的网站是用asp.net做的,在网站的bbs目录下面放置了一个动网的论坛(asp+access)。现在我想实现网站与论坛的同步登陆。也就是首页读取到cookie中登陆的用户名密码之后能够显示:“欢迎你,***!”之类。
我现在在首页放一个FORM,在按下登陆按钮之后,可以实现进入动网的Login.asp进行判断是否注册用户,并能返回到网站首页。
但是我不会在asp.net中读取cookie,而且听说动网是加密的?
我不太懂asp,这是我在动网论坛里找到的部分代码:
MemberName = checkStr(Trim(Request.Cookies(Forum_sn)("username")))//这应该是取得cookie用户名的代码吧?不过Forum_sn我不知道是什么,下面又找到了对它的定义。
Forum_sn = LCase(Replace(Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("URL"),Split(request.ServerVariables("SCRIPT_NAME"),"/")(ubound(Split(request.ServerVariables("SCRIPT_NAME"),"/"))),""))//这个问了一下是获取当前站点的名称和网页所在的文件夹名称用的。

解决方案 »

  1.   

    ASP和ASP.Net之间我记得是不能直接交换Session和Cookies的,唯一的办法是用Session交换,但要求把Session存到数据库中,然后通过URL参数传递给另一个程序。这样做太麻烦,给你个简单一点的方案,看适用不:ASP.Net也去读取动网的用户表,登录一次实际上在ASP和ASP.Net两边都实现了登录。注意一点的就是,动网的数据库用户密码是用MD5加密后存放的。
      

  2.   

    当然,如果你只是想要显示一个用户名的话,应该可以直接读取动网的Cooikes,ASP.Net里面需要先把Cookies的域名设为动网那个的。
      

  3.   

    好像这样也不太行...可不可以把动网的登录部分,原封不动的移到你ASP.NET的网页上,当做你的login.然后,在动网登录的同时,通过ASP.NET的FROM认证    好像需要改的地方太多了,很麻烦.
      

  4.   

    老大!最好是Session。
    比如在一个比较显眼的地方,
    if(Session["user"]!=null)
    {
    Labal1.Text="欢迎你,"+Session["user"];
    }
    else
    {
    Labal1.Text="您还没登陆!"
    }
      

  5.   

    Asp.Net 可以读取asp中的Cookies值的,不过经过了编码,如果要用Cookies,你要转换一下Response.Write(HttpUtility.UrlDecode(Request.Cookies["UserName"].Value,System.Text.Encoding.Default));
      

  6.   

    md5解码的话,你参照asp的写个.net版的就可以了
      

  7.   

    MD5解码?晕MD5怎么解码?比较都是比较加密之后的密文,而没法获得原文的。
      

  8.   

    晕,asp.net不会弱智到不能读cookies吧,那.net和ASP混合编程如何能实现???
      

  9.   

    microcat(),也许你觉得很弱智,但是我不会,能不能帮我一把?
      

  10.   

    .net 和asp 怎么可以混合编程
      

  11.   

    1.ASP.NET和ASP不能够交换Session,但可以交换Cookie,是否需要编码或者解码我就不知道了。2.md5不是问题,不过我记得dvbbs使用的是16位md5(它的asp代码其实采用的是32位md5代码,不过计算结果只取其中16位),而这个md5的实质和System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile()是一样的。如果你需要算密码对应的md5,就用HashPasswordForStoringInConfigFile()然后取对应的中间段16位就是了。3.其实你根本不需要算md5。dvbbs的验证原理是:提交用户名和密码>>Cookie保存用户名和md5处理过的密码>>用Cookie和数据库做直接比较(数据库的也是md5处理过的密码,所以是“直接比较”)。现在这个问题已经说得够简单了:首先,读取Cookie——Cookie的字典名和Cookie字典中的Cookie名参考dvbbs的(通常字典名是"aspsky",然后Cookie名是"username"等);然后,进行编码——如果真的需要编码的话;最后,和数据库进行直接比较。注意:
    Cookie在本身(指在客户端浏览器存储时)包含Domain和Path属性,确保不用跨越权限读取其它站点的Cookie,详细请参考MSDN中的HttpCookie.Domain和.Path。在dvbbs中的asp和asp.net中需要保证这两个属性设置一致。