找回密码
 立即注册

QQ登录

只需一步,快速开始

Jack.Cheng
超级版主   /  发表于:2024-3-5 14:03  /   查看:680  /  回复:0
本帖最后由 Jack.Cheng 于 2024-3-6 11:31 编辑

活字格9.1的帮助文档(https://www.grapecity.com.cn/sol ... evesecurityprovider)此处讲解了如何使用C#开发自己的安全提供程序,对于使用Java作为主要编程语言的用户来说,9.1及以前的活字格是不支持使用Java开发安全提供程序的,自然这个章节的帮助也就没那么大了。而在活字格10.0中,大家可以直接使用Java来进行安全程序的开发了,这篇帖子将主要为大家介绍这个新的特性。

第0步:准备开发环境
安装JDK21(8-21都可以)、IDE我们选择IDEA、包管理工具使用maven
image.png143569029.png

image.png783286437.png


另外,我们还需要下载活字格Java Web Api生成工具(https://gitee.com/GrapeCity/forg ... /releases/tag/1.0.0),推荐使用压缩包版本创建。
如果压缩包版本闪退,是因为系统太老没有webview2,推荐使用msi安装包安装,或者更新系统到2018年4月之后的win10 或更高版本。
image.png940239868.png

第1步:初始化项目
打开forguncyJavaPluginGenerator,在安全提供程序标签页并填写必要信息
image.png437445067.png
最终会在指定目录生成一个Java工程文件
image.png916885681.png

第2步:使用IDEA打开工程文件并开始实现自己的业务逻辑
如果希望引入第三方jar包,最推荐的通过maven引入坐标
image.png197558592.png
如果你的jar包不方便通过maven引入,那么可以通过常规Java编程方式通过Util类引入,然后通过方法调用方式来复用。
工程目录中,config.json对安全提供程序中所需要使用的配置项进行持久化
image.png645487670.png
最核心的类是CutomSecurityProvider,里面的逻辑与之前C#开发安全提供程序逻辑是类似的
这是用户信息部分的代码
image.png417474669.png
这是角色部分的代码
image.png714251098.png
这是组织结构部分的代码
image.png973594360.png
这是配置处理的相关代码
image.png874830016.png

第3步:使用maven打包安全提供程序

image.png438049315.png
先点击clean,后点击install,在target目录下会生成一个后缀名为zip的文件
image.png66164855.png

最后就是使用我们的安全提供程序了,在管理控制台上传安全提供程序

image.png919483947.png
这是用户部分
image.png37372435.png
这是角色部分
image.png994954528.png
这是组织结构部分
image.png480316466.png

其实大家会发现,整体的流程和之前C#开发大同小异,体验基本一致,就是开发安全提供程序的语言从C#变为Java。

两个核心接口
image.png629203185.png
ISecurtiyProvider接口中的verifyUser抽象方法需要被安全提供程序主类实现,其主要功能是认证用户登录信息并返回用户详细信息,活字格服务器会把这些信息作为凭证记录到Cookie里面。
image.png485482787.png
ISupportSettings接口里有两个抽象方法,getSettings用于在管理控制台展示参数配置界面
image.png326988524.png
updateSettings抽象方法用于用户更改参数后点击保存设置按钮后的执行。

调试安全提供程序
使用Java开发安全提供程序时,很难一次成功,难免会遇到一些需要调试代码的场景,这时候活字格10.0支持的调试功能就能帮到我们
在设计器这个位置,查看Java调试端口号
image.png829209289.png
在IDEA中编辑工程文件配置
image.png81663817.png
新增一个Remote JVM Debug的配置项
image.png164113463.png
将端口号粘贴到此处
image.png469198302.png
接着以Debug方式启动安全提供程序的工程文件
image.png167980651.png
这样子,当你在管理控制台进行界面操作时候,会触发对应的断点
image.png622073058.png
其实这里的步骤需要大家对IDEA操作也比较熟悉才可以。

OK,以上我们为大家介绍了活字格10.0中使用Java开发安全提供程序的功能,等到新版本正式发布后,大家就可使用Java为活字格应用开发独有的安全提供程序啦

评分

参与人数 1满意度 +5 收起 理由
吴小胖 + 5

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部