Jack.Cheng 发表于 2024-3-5 14:03:00

活字格10.0新功能解密:二十六、Java开发安全提供程序

本帖最后由 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





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


第1步:初始化项目
打开forguncyJavaPluginGenerator,在安全提供程序标签页并填写必要信息

最终会在指定目录生成一个Java工程文件


第2步:使用IDEA打开工程文件并开始实现自己的业务逻辑
如果希望引入第三方jar包,最推荐的通过maven引入坐标

如果你的jar包不方便通过maven引入,那么可以通过常规Java编程方式通过Util类引入,然后通过方法调用方式来复用。
工程目录中,config.json对安全提供程序中所需要使用的配置项进行持久化

最核心的类是CutomSecurityProvider,里面的逻辑与之前C#开发安全提供程序逻辑是类似的
这是用户信息部分的代码

这是角色部分的代码

这是组织结构部分的代码

这是配置处理的相关代码


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


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


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


这是用户部分

这是角色部分

这是组织结构部分


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

两个核心接口

ISecurtiyProvider接口中的verifyUser抽象方法需要被安全提供程序主类实现,其主要功能是认证用户登录信息并返回用户详细信息,活字格服务器会把这些信息作为凭证记录到Cookie里面。

ISupportSettings接口里有两个抽象方法,getSettings用于在管理控制台展示参数配置界面

updateSettings抽象方法用于用户更改参数后点击保存设置按钮后的执行。

调试安全提供程序
使用Java开发安全提供程序时,很难一次成功,难免会遇到一些需要调试代码的场景,这时候活字格10.0支持的调试功能就能帮到我们
在设计器这个位置,查看Java调试端口号

在IDEA中编辑工程文件配置

新增一个Remote JVM Debug的配置项

将端口号粘贴到此处

接着以Debug方式启动安全提供程序的工程文件

这样子,当你在管理控制台进行界面操作时候,会触发对应的断点

其实这里的步骤需要大家对IDEA操作也比较熟悉才可以。

OK,以上我们为大家介绍了活字格10.0中使用Java开发安全提供程序的功能,等到新版本正式发布后,大家就可使用Java为活字格应用开发独有的安全提供程序啦{:5_120:}
页: [1]
查看完整版本: 活字格10.0新功能解密:二十六、Java开发安全提供程序