欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 统一门户单点登入(C#-OOS机制)

统一门户单点登入(C#-OOS机制)

2025/12/19 12:36:54 来源:https://blog.csdn.net/vsmybits/article/details/145038651  浏览:    关键词:统一门户单点登入(C#-OOS机制)

1.非自研系统

通过接口,获取第三方系统token,存redis缓存,设计跳转配置,根据获取的配置路由等用户信息来访问第三方系统免登录。(登入校验在第三方系统实现)
/// <summary>
/// 获取OA登录Token
/// </summary>
/// <returns></returns>
public async Task<string> PostOaAcessTokenAsync(string loginid)
{string resToken = "";var formData = new Dictionary<string, string>{{ "appid", "*************************" },{ "loginid", loginid }};var content = new FormUrlEncodedContent(formData);// 发送POST请求HttpResponseMessage response = await HttpHelper.Client.PostAsync("http://127.0.0.1:8888/ssologin/getToken", content);// 处理响应if (response.IsSuccessStatusCode){// 对成功的响应进行操作var responseContent = await response.Content.ReadAsStringAsync();resToken = responseContent;if (resToken.Contains("has no account:")){throw new UserFriendlyException(UserConst.OA_User_No_Exist);}return resToken;// 域登陆成功}else{// 处理错误throw new UserFriendlyException(UserConst.Login_Error);}}

1.自研系统(OOS机制-单点登录)

通过调整自研系统登入接口参数,添加token字段,由门户创建token,这边按照token值来判断是否不走正常账号密码登入,直接通过token值调用门户接口校验,如果校验成功则质检进入自研系统。
public async Task SSOLoginValidationAsync(string token, Action<UserEntity> userAction = null)
{var user = new UserEntity();// 发送POST请求HttpResponseMessage response = await HttpHelper.Client.PostAsync("http://127.0.0.1/prod-api/auth/get-token/" + token, null);// 处理响应if (response.IsSuccessStatusCode){// 对成功的响应进行操作var responseContent = await response.Content.ReadAsStringAsync();var jObject = JObject.Parse(responseContent);var bo = jObject["succeeded"].Value<bool>();if (bo){string UserCode = jObject["data"].Value<string>();// 工号if (await ExistAsync(UserCode, o => user = o)){if (userAction is not null){userAction.Invoke(user);return;// 域登陆成功}}throw new UserFriendlyException(UserConst.Login_User_No_Exist);}else{// 处理域登陆失败throw new UserFriendlyException(UserConst.Auth_User_Token_Invalid);}}else{// 处理错误throw new UserFriendlyException(UserConst.SSO_Token_Err);}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词