本篇文章介绍的是开源的协同办公项目O2OA如何使用认证鉴权对服务访问进行限制(invoke)。
默认情况下创建的服务是允许匿名访问的,这样创建的服务可以直接通过url访问执行,如果需要进行鉴权限制,那么可以启用服务鉴权:
在token.json的sso段中设置sso的鉴权信息.
启用鉴权后服务的访问地址由:
http://dev.o2oa.net:20030/x_program_center/jaxrs/invoke/{serviceName}/execute
改为:
其中{token}为sso配置的鉴权名称
token为采取3des算法使用密钥对"person#timestamp"文本进行加密.
person指示以指定用户身份来运行服务.
timestamp为1970年1月1日0时0秒到当前时间的毫秒数.用于确保token的时效性,有效时间15分钟.
生成Token
可以通过前台js来产生token,也可以调用服务来产生token.
前端生成:参考:https://www.yuque.com/o2oa/fuwefs/zsweg0
后端生成:可以调用服务通过后台运行3des算法生成令牌:
后端生成的token只需要输入sso中设置的client名称,以当前用户和当前时间生成token.
相关推荐
此外,还可以考虑使用其他的转换工具或服务,如Apache POI(用于处理Office文档的Java库)或在线转换服务,作为替代方案。 压缩包中的“SaveAsPDFandXPS.exe”可能是一个独立的工具,用于将Office文件转换为PDF和...
这段XML配置指示Axis在处理`CentrexService`服务的请求时,使用`AuthByAxis`处理程序进行鉴权检查。 #### 实现类:UserAuthentizationHandler 实现类`AuthByAxis`继承自`BasicHandler`,这是Axis提供的基础处理...
在多线程环境中,为了防止不同线程同时修改UI组件导致的数据不一致和资源冲突,需要确保所有对UI的操作都在UI线程中进行。这就是所谓的“线程访问UI”。本篇将详细讲解如何利用代理和`Invoke`方法实现这一标准技术。...
"stc-plugin-invoke"是一个专为STC(Smart Template Compiler)设计的插件调用框架,它使得在STC中集成和使用各种插件变得更加便捷。本文将深入探讨这个开源库及其相关知识点。 首先,我们要理解STC是什么。STC...
Ivoke-WCMDump 什么是Credential Manager ...从Credential Manager导出Windows凭据的Powershell脚本 https://github.com/peewpw/Invoke-WCMDump PS>Import-Module .\Invoke-WCMDump.ps1 ...Invoke-WCMDump
本教程将深入探讨如何在SpringBoot项目中集成EasyExcel进行Excel文档的导入和导出,帮助开发者提高工作效率。 首先,让我们了解EasyExcel的核心功能。EasyExcel支持读取和写入Excel文件,无需内存转换成List,这...
Invoke-AtomicRedTeam是基于PowerShell的一套开源工具,设计用于执行“原子”级别的攻击技术,这些技术通常被高级持续性威胁(APT)组织所使用。这些“原子”测试覆盖了攻击链的各个阶段,包括侦察、漏洞利用、持久...
`Invoke`主要用于更新UI(用户界面)控件,因为UI控件通常不是线程安全的,也就是说,它们只能在创建它们的线程中进行修改。这个特性源于Windows消息循环机制,每个窗体都有一个主线程,负责处理与用户交互相关的...
- `Invoke`方法确保了控件的访问是在正确的线程中进行的,从而避免了跨线程访问的问题。 #### 四、数据库查询与结果显示 `SelecDB`方法负责查询数据库,并将结果显示在`listView1`中。在这个例子中,使用了`...
当你在一个非UI线程中尝试访问或修改UI元素时,必须使用`Invoke`。它会阻塞调用线程,直到UI线程完成指定的委托操作。这样做的好处是可以确保所有UI更新按顺序执行,避免了并发问题,但缺点是可能会导致主线程(UI...
### C#窗体中Invoke和BeginInvoke方法详解 #### 一、为什么Control类提供了Invoke和BeginInvoke机制? 在深入探讨Invoke和BeginInvoke方法的具体用法之前,我们需要理解为什么C#中的`Control`类会提供这样的机制。...
P/Invoke Interop Assistant是一个非常实用的工具,它专门用于帮助C#或VB.NET开发者将C或C++的函数和数据类型转换为.NET Framework兼容的形式。这个工具的主要目的是解决跨语言互操作性问题,即所谓的“平台调用”...
【Invoke反射】是一种在.NET框架中使用的重要编程技术,它属于C#或.NET中的动态编程范畴,主要基于System.Reflection命名空间。反射允许程序在运行时检查自身的信息,并且能够动态地创建对象、调用方法、访问属性和...
### Invoke与BeginInvoke的区别 #### 一、基本概念 在.NET框架中,`Invoke` 和 `BeginInvoke` 是两个常用的方法,主要用于实现跨线程访问控件或执行操作。这两种方法通常出现在多线程编程场景中,特别是当涉及到UI...
此外,由于ARX是基于C++的,所以进行.NET ARX Invoke时可能需要对托管与非托管代码的交互有深入理解。 总之,AutoCAD .NET ARX Invoke是将.NET的易用性和ARX的高效性结合起来的重要技术。开发者可以通过这种方式...
标题“mobile phone text message invoke api”涉及的是手机短信服务与应用程序接口(API)的结合,使得开发者可以利用这些接口在各种编程语言中实现短信的发送和接收功能。这通常包括通过Windows API(应用程序接口)...
使用 安装组件 npm install wepy-com-charts --save 引用组件 import wepy from 'wepy'; import Charts from 'wepy-com-charts'; export default class Index extends wepy.page { components = { line...
《P/Invoke.NET工具详解:实现托管代码与非托管代码的无缝交互》 在软件开发过程中,有时我们需要在.NET Framework的托管代码环境中调用非托管的C/C++库或者WinAPI函数,这时就需要借助P/Invoke(Platform Invoke)...