discuz 单点登录 ucenter

简介:   下载demo : http://download.csdn.net/download/knight_black_bob/9863051   1、从“discuz-ucenter-api-for-java”的开源项目网站中下载相关的API文件,也可以从这里下载:JAVA_UCenter.

 

下载demo : http://download.csdn.net/download/knight_black_bob/9863051

 

1、从“discuz-ucenter-api-for-java”的开源项目网站中下载相关的API文件,也可以从这里下载:JAVA_UCenter.zip

 

2、将JAVA_UCenter.zip解压、覆盖到你的JAVA项目中,其中的新文件有:

 

src/config.properties:本地的JAVA项目与UCenter的接口配置文件(需要根据实际环境进行配置)

 

src/api/ucenter/Base64.java

 

src/api/ucenter/Client.java:将常用的UCenter操作封装成的客户端对象,我们在项目中主要用它来与UCenter打交道

 

src/api/ucenter/PHPFunctions.java

 

src/api/ucenter/UC.java:本地的JAVA项目用来接收UCenter同步命令的Servlet接口,其访问地址必须为:/api/uc.php

 

src/api/ucenter/XMLHelper.java

 

WebRoot/WEB-INF/web.xml:主要就是将src/api/ucenter/UC.java定义为Servlet

 

 

 

注意:

 

(1) src/config.properties中的代码如下:

 

# ================================================

# Ucenter API for JAVA

# ================================================

UC_API = http://localhost:9201

UC_IP = 

UC_KEY = 123456

UC_APPID = 2

UC_CONNECT = 

 

其中,UC_API表示UCenter的访问地址,UC_KEY就是在UCenter中添加新应用时定义的通信密钥,UC_APPID表示新应用的APPID,就是刚才记下的那个。

 

除这三项外,其他的配置保持为空即可。

 

 

主要操作:

1.设置免激活



 

 

2.创建 应用



 

 

 

3. 测试代码

<%@page import="java.util.LinkedList"%>
<%@page import="api.ucenter.XMLHelper"%>
<%@page import="api.ucenter.Client"%>
<%
Client uc = new Client();
String result = uc.uc_user_login("admin", "12345678");

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("login success");
		out.println($username);
		out.println($password);
		out.println($email);
		
		String $ucsynlogin = uc.uc_user_synlogin($uid);
		out.println("login success"+$ucsynlogin);

		//本地登陆代码
		//TODO ... ....
	
	} else if($uid == -1) {
		out.println("user not exist");
	} else if($uid == -2) {
		out.println("passwd error");
	} else {
		out.println("no defined");
	}
}else{
	out.println("Login failed");
	System.out.println(result);
}

String result2 = uc.uc_user_register("13283214915","123456","13283214915@163.com");
out.println("regester :"+result2);

  

4.结果



 



 

 

 注册后用户登录验证

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者 

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。

 

个人主页http://knight-black-bob.iteye.com/



 
 
 谢谢您的赞助,我会做的更好!

 

目录
打赏
0
0
0
0
2
分享
相关文章
Web前端网站(一) - 登录页面及账号密码验证
页面背景动态是烟花和文字特效与缓缓下落的雪花相结合,在登录表单的旁边还有五个白色光圈以不规则的方式环绕,当鼠标靠近时,会发出彩色的光芒~~~
150 1
Web前端网站(一) - 登录页面及账号密码验证
thinkphp5 Auth 权限管理(1)
<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK IT ] // +---------------------------------------------------------------------- // | Copyright (c) 2011 http://thinkphp.cn All rights reserved. // +-----------------------
73 0
thinkphp5 Auth 权限管理(1)
thinkphp5 Auth 权限管理(2)
这些代码按照正确的方式,放到你的项目中,auth权限管理应该就好用了。如果你的项目支持中间件,上边这部分代码直接放到中间件中就可以了。 我就是这样。
73 0
phpcms之 解决无法远程访问服务器端的phpcms问题
phpcms之 解决无法远程访问服务器端的phpcms问题
Django项目如何接入公司LDAP帐号认证
Django项目如何接入公司LDAP帐号认证
450 0
Django项目如何接入公司LDAP帐号认证
【laravel项目】@2 账号密码登录验证(1)
【laravel项目】@2 账号密码登录验证
92 0
【laravel项目】@2 账号密码登录验证(1)
【laravel项目】@2 账号密码登录验证(2)
【laravel项目】@2 账号密码登录验证
83 0
【laravel项目】@2 账号密码登录验证(2)
SSO 单点登录总结(PHP)
本篇文章根据个人理解的知识整理汇总,包含 Cookie、Session 的基础知识和单点登录的方法,如有不足之处,请大家多多指正。
3478 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等