【ASP.NET】UCenter实现多站点同步登录退出

利用UCenter实现discuz论坛和应用网站同步登录和退出功能
测试环境:Discuz! X3.2UCenter 1.6.Net Framework 4.0

进入Discuz 后台的UCenter应用管理页面

 
UCenter

添加新应用

安装方式选择自定义安装、应用类型为其他。通信密钥可以自定义。开启同步登录和通知

 
添加新应用

集成UCenter API For DotNet

 
UC配置信息

DS.Web.UCenter添加到项目中
修改项目App.Config配置信息:
UC_KEY 添加新应用时填写的通信密钥
UC_API UCenter地址
UC_APPID 应用网站在UCenter中的id

配置完毕后将网站运行起来,刷新一下应用列表界面

 
通信成功

如果上述配置信息正确,就可以看到应用通信成功了。

调用UCenter API

以登录为例,实例化一个UcClient对象,调用UserLogin方法

IUcClient client = new UcClient();
var user = client.UserLogin("admin", "admin"); //登陆 if (user.Success) //判断是否登陆成功 { client.PmSend(0, 0, "公告", "测试公告", user.Uid); //给该用户发送系统消息 } 

其他相关的API

using System.Collections.Generic;

namespace DS.Web.UCenter.Client
{
    ///<summary> /// UcApi客户端 ///</summary> public interface IUcClient { /// <summary> /// 用户注册 /// </summary> /// <param name="userName">用户名</param> /// <param name="passWord">密码</param> /// <param name="email">Email</param> /// <param name="questionId">登陆问题</param> /// <param name="answer">答案</param> /// <returns></returns> UcUserRegister UserRegister(string userName, string passWord, string email, int questionId = 0, string answer = ""); /// <summary> /// 用户登陆 /// </summary> /// <param name="userName">用户名/Uid/Email</param> /// <param name="passWord">密码</param> /// <param name="loginMethod">登录方式</param> /// <param name="checkques">需要登陆问题</param> /// <param name="questionId">问题ID</param> /// <param name="answer">答案</param> /// <returns></returns> UcUserLogin UserLogin(string userName, string passWord, LoginMethod loginMethod = LoginMethod.UserName, bool checkques = false, int questionId = 0, string answer = ""); /// <summary> /// 得到用户信息 /// </summary> /// <param name="userName">用户名</param> /// <returns></returns> UcUserInfo UserInfo(string userName); /// <summary> /// 得到用户信息 /// </summary> /// <param name="uid">Uid</param> /// <returns></returns> UcUserInfo UserInfo(int uid); /// <summary> /// 更新用户信息 /// 更新资料需验证用户的原密码是否正确,除非指定 ignoreoldpw 为 1。 /// 如果只修改 Email 不修改密码,可让 newpw 为空; /// 同理如果只修改密码不修改 Email,可让 email 为空。 /// </summary> /// <returns></returns> UcUserEdit UserEdit(string userName, string oldPw, string newPw, string email, bool ignoreOldPw = false, int questionId = 0, string answer = ""); /// <summary> /// 删除用户 /// </summary> /// <param name="uid">Uid</param> /// <returns></returns> bool UserDelete(params int[] uid); /// <summary> /// 删除用户头像 /// </summary> /// <param name="uid">Uid</param> void UserDeleteAvatar(params int[] uid); /// <summary> /// 同步登陆 /// </summary> /// <param name="uid">Uid</param> /// <returns>同步登陆的 Html 代码</returns> string UserSynlogin(int uid); /// <summary> /// 同步登出 /// 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值