最近在CSDN问的几个问题都没有解决,今天草草收尾了,首先值此黄金周的最后一天祝自己此贴旗开得胜,顺利解决!老问题了,自己好想也问过没有得到解决的办法!就是在Java平台登录后,如何把登录的信息传递到ASP平台里,而且不在同一台服务器上,开始的时候一直想试试论坛的办法,就是把加密的用户名和密码写入到用户的Cookie里,但发现Cookie就像段誉的六脉神剑,时灵时不灵,十分头痛!Asp经常无法读出登录信息。各位仁兄有没有什么简单的办法?或者有什么免费的代码给偶用用!能解决这个问题,另外,这是一套公司的内部系统,就固定的300人使用,可以用行政命令让员工解决软件问题,大家尽管各抒己见!万分感谢!最后祝大家五一节后快乐:)

解决方案 »

  1.   

    java:
    // 验证通过后:
    String passport = encrypt(username, pwd); // 对用户名、密码加密,生成加密字符串
    response.sendRedirect("http://iisserver/vpath/AuthedByJava.aspx?passport="+passport);AuthedByJava.aspx:
    // 从传入参数解析用户名、密码
    string passport = Request.QueryString["passport"];
    bool legal = decrypt(passport, out username, out pwd);
    if (!legal)
      Server.Transfer("非法用户.aspx");
    else
      Server.Transfer("欢迎.aspx");
      
      

  2.   

    JAVA平台登录后,把用户名和密码稍微作以下加密,然后再把二者合并后做一次加密,把这三个参数传递给asp文件,asp文件接受三个参数,先把用户名和密码解密,然后再把解密后的两个字符串组合后进行加密,与传递过来的加密字符串进行比较例如:
    java文件:
    String username="abc";
    String password="123";
    String p_username="tmp"+username+"pmt";
    String p_password="tmp"+password+"pmt";
    String encrypt_str=enc(username+password);//enc为自己定义的加密函数,如果使用MD5加密,请先测试java的md5与asp的md5算法是否相同
    response.sendRedirect("http://asp_domainname/1.aspx?=username"+p_username+"&password="+p_password+"&encrypt_str="+encrypt_str);asp文件
    username=request.querystring("username")
    password=request.querystring("password")
    encrypt_str=request.querystring("encrypt_str")
    '然后对username和password进行分解,获取真正的username和password
    '对username&password字符串进行和java中同样的加密,然后与encrypt_str进行比对
      

  3.   

    我想你应该是想实现SSO吧?如果是也许以下的方法可以帮助你。
    首先你们公司用不用域名服务器,如果用的话就可以借助域名服务器来进行简单的SSO。
    无论是ASP还是JAVA应用也好,只要是基于B/S架构的应用就可以。
    基本原理是:服务端可以调用一些API进行域名服务器的客户端登陆用户验证(通过http认证授权机制),验证通过后可以从httpRequest对象得到客户端的域登陆用户,然后在具体的应用中进行授权。
      

  4.   

    有没有好的简单加密方法推荐一下?Java和ASP都可以使用的?谢谢
      

  5.   

    验证通过后让java程序写条信息到数据库,asp读到那记录算验证ok,再删了那条记录