IDaaS系统 ArkID默认审批系统插件配置流程及具体有什么功能

ArkID的默认审批系统插件提供灵活的审批流程,满足企业复杂业务需求。本文介绍如何创建审批动作、生成审批请求、查看和处理请求,以及实现思路。在 ArkID 方舟一账通平台上,用户可以通过插件进行细粒度的权限控制和统一身份认证授权管理。

功能介绍

默认审批系统插件是ArkID官方推出的系统插件应用,用于提升审批流程的灵活性,以满足企业更加复杂的业务场景、企业的多样化办公需求。安装后,会在审批管理菜单下面添加默认请求处理页面,用于处理分配给当前审批系统的审批请求。
在这里插入图片描述

创建审批动作

01 打开审批动作页面,点击创建按钮
在这里插入图片描述

02 填入表单参数
在这里插入图片描述

生成审批请求

01 打开账号生命周期,点击创建按钮
在这里插入图片描述
02 配置表单参数,点击创建按钮
由于上个步骤中已经配置了针对创建生命周期配置的审批动作,所以该请求返回403
在这里插入图片描述

查看审批请求

01 打开审批管理->审批请求页面
在这里插入图片描述
02 打开用户头像->审批请求页面
在这里插入图片描述

处理审批请求

01 打开审批管理->默认请求处理页面, 点击通过按钮

在这里插入图片描述
02 打开已审核页签, 确认状态已改变
在这里插入图片描述

03 打开账号生命周期页面, 确认待审核的请求重新执
在这里插入图片描述

实现思路

在approve_requests_page中添加默认请求处理页面

默认请求处理 页面中调用 /approve_requests/{{request_id}}/pass/ 同意审批请求

默认请求处理 页面中调用 /approve_requests/{{request_id}}/deny/ 拒绝审批请求

实现 pass_approve_request 抽象方法 同意审批请求

实现 deny_approve_request 抽象方法 拒绝审批请求

由于此插件只不需要将审批请求发送到第三方所以没有覆盖抽象方法create_approve_request

插件基类见arkid.core.extension.approve_system.ApproveSystemExtension

抽象方法实现

pass_approve_request

deny_approve_request

create_approve_request

代码
extension_root.com_longgui_approve_system_arkid.ApproveSystemArkIDExtension (ApproveSystemExtension)

Source code in
extension_root/com_longgui_approve_system_arkid/init.py

class ApproveSystemArkIDExtension(ApproveSystemExtension):    def load(self):        super().load()        self.register_api(            f'/approve_requests/',            'GET',            self.list_tenant_approve_requests,            response=List[ApproveRequestListItemOut],            tenant_path=True,        )        self.register_approve_system_schema(            ApproveSystemArkIDConfigSchema, 'approve_system_arkid'        )        self.register_front_pages([router_page, waiting_page, approved_page])        self.register_front_routers(router, approve_manage_router)    @operation(List[ApproveRequestListItemOut], roles=[TENANT_ADMIN, PLATFORM_ADMIN])    @paginate(CustomPagination)    def list_tenant_approve_requests(        self, request, tenant_id: str, is_approved: str = ''    ):        package = 'com.longgui.approve.system.arkid'        requests = ApproveRequest.valid_objects.filter(            user__tenant=request.tenant, action__extension__package=package        )        if is_approved == 'true':            requests = requests.exclude(status="wait")        elif is_approved == 'false':            requests = requests.filter(status="wait")        return requests    def create_approve_request(self, event, **kwargs):        pass    def pass_approve_request(self, request, approve_request):        response = restore_approve_request(approve_request)        logger.info(f'Restore approve request with result: {response}')    def deny_approve_request(self, request, approve_request):        pass

create_approve_request(self, event, **kwargs)

抽象方法

Parameters:

NameTypeDescriptionDefault
eventarkid.core.event.Event创建审批请求事件required

Source code in
extension_root/com_longgui_approve_system_arkid/init.py

def create_approve_request(self, event, **kwargs): pass

deny_approve_request(self, request, approve_request)

抽象方法

Parameters:

NameTypeDescriptionDefault
requestdjango.http.HttpRequestHTTP 请求required
approve_requestarkid.core.models.ApproveRequest需要拒绝的审批请求required

Source code in
extension_root/com_longgui_approve_system_arkid/init.py

def deny_approve_request(self, request, approve_request):

    pass

load(self)

抽象方法,插件加载的入口方法

Source code in
extension_root/com_longgui_approve_system_arkid/init.py

def load(self):

    super().load()

    self.register_api(

        f'/approve_requests/',

        'GET',

        self.list_tenant_approve_requests,

        response=List[ApproveRequestListItemOut],

        tenant_path=True,

    )

    self.register_approve_system_schema(

        ApproveSystemArkIDConfigSchema, 'approve_system_arkid'

    )

    self.register_front_pages([router_page, waiting_page, approved_page])

    self.register_front_routers(router, approve_manage_router)

pass_approve_request(self, request, approve_request)

抽象方法

Parameters:

NameTypeDescriptionDefault
requestdjango.http.HttpRequestHTTP 请求required
approve_requestarkid.core.models.ApproveRequest需要同意的审批请求required

Source code in
extension_root/com_longgui_approve_system_arkid/init.py

def pass_approve_request(self, request, approve_request):

    response = restore_approve_request(approve_request)

    logger.info(f'Restore approve request with result: {response}')

ArkID方舟一账通

一款插件化、多租户、云原生的开源统一身份认证授权管理解决方案/身份云管理平台,采用AGPL-3.0 开源协议;支持多种标准协议(LDAP, OAuth2, SAML, OpenID),细粒度权限控制,完整的WEB管理功能,钉钉、企业微信集成等。ArkID 既可以作为企业终端客户资产统一管理 CIAM,可作为企业内部雇员、外部伙伴统一身份管理平台 EIAM;助企业构建标准化的用户身份体系。如果希望快速的了解系统的基本使用,可以访问官方IDaaS注册账号后创建自己的租户,即可使用系统的大部分功能。如果希望体验超级管理员,安装配置插件等,推荐使用私有化部署的方式。

针对企业IT系统在身份管理和单点登录方面的挑战,IDaaS提供了一个全面的解决方案。通过统一的身份管理平台,企业可以集中处理账号、权限以及数据同步等问题,实现单点登录功能,优化员工的工作效率并提高安全性。以下是具体的操作流程和优势分析: 参考资源链接:[百度智能云IDaaS:统一身份管理与单点登录服务详解](https://wenku.youkuaiyun.com/doc/4m98by2sa3?spm=1055.2569.3001.10343) **操作流程**: 1. **身份验证集成**:首先,企业需要将现有的系统身份验证机制与IDaaS平台进行集成,确保能够通过IDaaS进行用户认证。 2. **用户账号迁移**:将企业现有的用户账号数据迁移到IDaaS平台,以实现账号数据的集中管理。 3. **单点登录配置**:配置企业内部应用系统,使其支持IDaaS提供的单点登录功能,通常需要设置相应的SSO(Single Sign-On)模块。 4. **权限策略分配**:通过IDaaS平台,企业可以定制和分配用户权限策略,实现不同级别的访问控制。 5. **数据同步设置**:配置账号数据同步规则,确保员工账号信息在不同系统间保持一致,如职位变更时账号权限的自动更新。 6. **监控和报告**:利用IDaaS提供的监控工具,企业可以实时跟踪登录活动和权限变更,生成安全报告以进行审计和分析。 **优势分析**: - **统一管理**:所有用户身份信息集中在一个平台管理,便于维护和监控。 - **提升安全性**:通过集中管理和强大的身份验证机制,降低了安全风险。 - **增加效率**:员工无需记忆多个账户和密码,单点登录减少了登录时间。 - **灵活性和可扩展性**:随着企业业务的扩展,IDaaS可以轻松支持更多用户和应用的集成。 若想深入了解如何使用IDaaS解决企业IT系统的统一身份管理和单点登录问题,可以参考《百度智能云IDaaS:统一身份管理与单点登录服务详解》。该资料详细介绍了IDaaS的核心功能、产品优势、应用场景以及服务结构,是企业IT管理人员不可或缺的参考资料。通过这份资料,企业可以全面掌握IDaaS的应用操作和管理方法,确保IT系统的高效、安全和统一。 参考资源链接:[百度智能云IDaaS:统一身份管理与单点登录服务详解](https://wenku.youkuaiyun.com/doc/4m98by2sa3?spm=1055.2569.3001.10343)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值