找回密码
 立即注册

QQ登录

只需一步,快速开始

Francis.Wang 讲师达人认证 活字格认证

高级会员

11

主题

124

帖子

1913

积分

高级会员

积分
1913

时代开发者征文活动活字格认证讲师达人

QQ
Francis.Wang 讲师达人认证 活字格认证
高级会员   /  发表于:2020-12-11 18:28  /   查看:11989  /  回复:12
本帖最后由 Francis.Wang 于 2020-12-11 18:35 编辑

根据帮助文档中单点登录的示例:https://help.grapecity.com.cn/pa ... ion?pageId=46172327,产生了部分思考:也看论坛有人在问,我们要把那段代码写在哪里,答案无疑是写在原系统的后台中。

所以随之而来的问题是什么?
我们原系统没有源代码;
我们负责原系统的开发离职了,没人会改;
我们原系统的有代码但后台不让动;
我们原系统的后台是Java,是python,是PHP,我们不知道那些语言怎么适配。
所以我们的期待的是什么?

我们只想要一个带着token的url就能进入活字格应用了,我们只想给原系统加一个链接跳转,我们不想在意后台到底是什么语言。

所以我们的解决方案是什么?
就自己写一个独立的接口,一个独立的服务然后独立发布。当然这个语言也是不会限制的,但是既然我们帮助文档提供了C#的源码,那就直接用就行,写一个webapi,放到服务器上。

所以我们的实现方式是什么?
1、打开visio studio,创建一个webapi;
2、把帮助文档中的代码扔进去;
3、把webapi发布到服务器上;
4、打开活字格,发布一个允许单点登录的应用;
5、修改单点登录密码;
6、在原应用中加一个链接,发送一个post请求到webapi

发送完成以后,webapi会给我们返回对应的活字格应用的url和token,然后window.location.href等于返回结果,大功告成。

下面就分享两个html文件,index模拟第三方的页面,重点在于login页面,里面有一段发送post请求的代码,login页面里面的baseurl就是我活字格应用发布的地址,post中的url就是我webapi发布的地址。
当然了,假如你自己也发布了一个活字格的应用,你也可以调用我的接口进行测试。具体测试方法如下,很简单:

1、发布你活字格应用的时候,设置为允许单点登录,然后单点登录密码改为123456;
2、发布以后,把:C:\Users\Public\Documents\ForguncyServer\[你的应用名]\Config.xml文件中的password也改成123456,然后重启应用;
3、把login.html文件中的baseurl路径改成自己对应的活字格应用地址。
4、不出意外的话,你打开index.html页面然后点击超链接,就可以直接进入到你的系统中了,出了意外地话,请留言。

最重要的事放在最后说:活字格无所不能,祝各位看官生活幸福,工作顺利,万事大吉!

单点登录测试.rar

30.18 KB, 下载次数: 1691

评分

参与人数 1金币 +2000 收起 理由
Simon.hu + 2000 赞一个!

查看全部评分

12 个回复

正序浏览
Tom猫
中级会员   /  发表于:2022-8-16 09:44:16
13#
单点登录很常见的需求
回复 使用道具 举报
小侠米
论坛元老   /  发表于:2022-7-1 16:13:08
12#
Francis.Wang 发表于 2022-1-26 14:00
如果是识别身份,接口就不一样了,这个是专门处理单点登录的

电脑没装VS,可以把webapi附件放一个上来吗,不然没法测试
回复 使用道具 举报
Francis.Wang讲师达人认证 活字格认证
高级会员   /  发表于:2022-1-26 14:00:56
11#
AoWin7 发表于 2022-1-26 13:26
请问,用这个方式,怎么识别身份呢?目前这只是实现了登录吧,

如果是识别身份,接口就不一样了,这个是专门处理单点登录的
回复 使用道具 举报
Francis.Wang讲师达人认证 活字格认证
高级会员   /  发表于:2022-1-26 13:58:53
10#
glacier_ 发表于 2021-10-16 00:08
请问大佬,如果是在一个活字格应用里,用这种方式进入另一个活字格应用,该如何设置服务端命令呢

跟服务端命令没有关系的,不清楚你的具体需求是什么
回复 使用道具 举报
AoWin7
初级会员   /  发表于:2022-1-26 13:26:33
9#
请问,用这个方式,怎么识别身份呢?目前这只是实现了登录吧,
回复 使用道具 举报
glacier_
中级会员   /  发表于:2021-10-16 00:08:47
8#
请问大佬,如果是在一个活字格应用里,用这种方式进入另一个活字格应用,该如何设置服务端命令呢
回复 使用道具 举报
绿之雪
金牌服务用户   /  发表于:2021-4-25 11:06:50
7#
厉害
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-4-25 10:52:59
6#
回复 使用道具 举报
Francis.Wang讲师达人认证 活字格认证
高级会员   /  发表于:2021-4-24 22:06:59
5#
nsc117 发表于 2021-4-24 21:08
这个厉害,几乎完美解决了第三方系统单点登录的问题,不过不会程序开发的小白还是想请教下:
3.把webapi发 ...

这个不好解释啊,第一步如果没问题的话,第三步应该也没问题了,API都创建好了,visio studio直接就可以发布了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部