论坛首页 Java企业应用论坛

java项目同步discuz与uchome登录

浏览 10601 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-08-29   最后修改:2010-08-30

本项目提供完全免费的JAVA版Discuz Ucenter API,可以轻松实现现有JAVA系统与UCenter之间无缝对接。具体实现在的功能如下:

  • 1.单点登录, Discuz! passport for java.
  • 2.基本用户管理的API。
  •  

    中文名登陆不了的,请将URLEncode.encode(str) 为 URLEncode.encode(str,"GBK")

     

     

    安装使用简单介绍

    长期以来,JAVA开发人员一直找不到好的社区系统,而现在广泛使用的PHP论坛又不能同时使用。 本项目提供了JAVA和Discuz! Ucenter的基本API接口, 你可以在此基础上集成你的应用。

     

    第一步:UCenter 添加应用

    1. 应用名称: [你的系统名称]
    2. 接口 URL: [你的应用地址] etc: http://yourhost:80/context/
    3. 应用 IP: [你的应用服务器的IP地址]
    4. 通信密钥: 123456[随便设],并将这个值考到config.properties里的UC_KEY

     

    第二步:客户端配置

    UC_API = http://localhost/ucenter

    UC_IP = 127.0.0.1

    UC_KEY = 123456 #对应应用的通信密钥

    UC_APPID = 3 #对应应用的ID号

    UC_CONNECT = mysql

     

    第三步:启动客户端

    将应用接口发布服务器上。启动。 注意:web.xml 中必须含有:

     

      <servlet>
        <servlet-name>api</servlet-name>
        <servlet-class>com.fivestars.interfaces.bbs.api.UC</servlet-class>
        <load-on-startup>2</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>api</servlet-name>
        <url-pattern>/api/uc.php</url-pattern>
      </servlet-mapping>  

     

     

    第四步:

    运行测试程序: http://localhost/context/Jsp_demo.jsp

     

     

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    /**
     * JSP 调用示例
     */
    %>
    <%@page import="java.util.LinkedList"%>
    <%@page import="com.fivestars.interfaces.bbs.util.XMLHelper"%>
    <%@page import="com.fivestars.interfaces.bbs.client.Client"%>
    <%
    Client uc = new Client();
    String result = uc.uc_user_login("username", "password");
    
    LinkedList<String> rs = XMLHelper.uc_unserialize(result);
    if(rs.size()>0){
    	int $uid = Integer.parseInt(rs.get(0));
    	String $username = rs.get(1);
    	String $password = rs.get(2);
    	String $email = rs.get(3);
    	if($uid > 0) {
    		response.addHeader("P3P"," CP=\"CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR\"");
    
    		out.println("登录成功");
    		out.println($username);
    		out.println($password);
    		out.println($email);
    		
    		String $ucsynlogin = uc.uc_user_synlogin($uid);
    		out.println("登录成功"+$ucsynlogin);
    
    		//本地登陆代码
    		//TODO ... ....
    		
    		Cookie auth = new Cookie("auth", uc.uc_authcode($password+"\t"+$uid, "ENCODE"));
    		auth.setMaxAge(31536000);
    		//auth.setDomain("localhost");
    		response.addCookie(auth);
    		
    		Cookie user = new Cookie("uchome_loginuser", $username);
    		response.addCookie(user);
    		
    	} else if($uid == -1) {
    		out.println("用户不存在,或者被删除");
    	} else if($uid == -2) {
    		out.println("密码错");
    	} else {
    		out.println("未定义");
    	}
    }else{
    	out.println("Login failed");
    	System.out.println(result);
    }
    %>

     

       发表时间:2010-08-31  
    项目呢?楼主开源吗?
    0 请登录后投票
       发表时间:2010-08-31   最后修改:2010-08-31
    看到了,代码在 google code 上

    http://code.google.com/p/discuz-ucenter-api-for-java/wiki/UserGuide


    http://code.google.com/p/discuz-ucenter-api-for-java/
    0 请登录后投票
       发表时间:2010-08-31  
    用户Email在discuz是必须的,而且是唯一,但是在自己的项目当中该字段可能不是唯一的,我当初在整合的时候就是碰到了这个问题,其他都还不错。
    0 请登录后投票
       发表时间:2010-09-01  
    这种有很多bug 比较严重的问题就是不可逆

    在网站注册和登录还有注销是没有问题的 . 但在论坛注册然后登陆还有注销 就有问题了.
    0 请登录后投票
       发表时间:2010-09-01  
    Dzx1 在整合其他产品的时候 BUG层出不穷

    现在在开发dzx2

    LZ这个同步,能应用到真实项目中么????
    0 请登录后投票
       发表时间:2010-11-10  
    Authracation has expiried  出现这个问题,怎么解决啊?LZ
    0 请登录后投票
    论坛首页 Java企业应用版

    跳转论坛:
    Global site tag (gtag.js) - Google Analytics