java项目同步discuz与uchome登录

本项目提供完全免费的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);
}
%>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值