discuz 单点登录 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
    评论
根据提供的引用内容,以下是Spring Boot和Vue.js进行单点登录对接的示例: 在Vue.js中,你可以使用axios库来发送HTTP请求。首先,你需要在Vue组件中定义一个方法来处理登录请求,并在该方法中调用后端API进行登录验证。在登录成功后,你可以将返回的token保存到cookie中,并使用window.location.href重定向到主页。 ```javascript methods: { submitLogin() { login.submitLoginUser(this.user) .then(response => { cookie.set('guli_token', response.data.data.token, { domain: 'localhost' }); login.getLoginUserInfo() .then(response => { this.loginInfo = response.data.data.userInfo; cookie.set('aokill_ucenter', this.loginInfo, { domain: 'localhost' }); }); window.location.href = "/"; }); } } ``` 在Spring Boot中,你可以使用Spring Security来处理用户认证和授权。首先,你需要创建一个登录接口,用于接收前端发送的登录请求,并返回一个包含token的响应。然后,你可以创建一个获取用户信息的接口,根据token从数据库中获取用户信息并返回给前端。 ```java @RestController @RequestMapping("/educenter/member") public class MemberController { @PostMapping("/login") public ResponseEntity<?> login(@RequestBody Member member) { // 处理登录逻辑,验证用户名和密码 // 生成token并返回给前端 String token = generateToken(member); return ResponseEntity.ok(new LoginResponse(token)); } @GetMapping("/getMemberInfo") public ResponseEntity<?> getMemberInfo(@RequestHeader("Authorization") String token) { // 根据token从数据库中获取用户信息 MemberInfo memberInfo = getMemberInfoByToken(token); return ResponseEntity.ok(memberInfo); } // 其他方法和逻辑... } ``` 请注意,上述示例仅为演示目的,并未完整实现单点登录的所有功能。实际应用中,你还需要配置Spring Security的认证和授权规则,以及实现token的生成和验证逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值