本项目提供完全免费的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 添加应用
- 应用名称: [你的系统名称]
- 接口 URL: [你的应用地址] etc: http://yourhost:80/context/
- 应用 IP: [你的应用服务器的IP地址]
- 通信密钥: 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);
}
%>