使用 Mendix 中的 OIDC 模块集成 Azure AD SSO

前言
在当今快速发展的数字化世界中,企业追求高效率和灵活性已成为常态。Mendix,作为一个先进的低代码开发平台,正是企业快速响应市场需求、加速数字化转型过程的利器。通过其直观的可视化开发环境,即使是非技术背景的用户也能设计和部署复杂的应用程序。但随着企业应用数量的不断增加,如何有效管理和维护这些应用程序的访问权限,确保数据安全,同时提升用户体验,成为了一个挑战。
在这个背景下,单点登录(SSO)技术的重要性日益凸显。SSO解决了用户需要记住多个应用程序的多组凭据的问题,用户只需一次登录,就可以访问所有授权的应用程序,极大地提升了用户体验和工作效率。而Microsoft AD(Active Directory),作为企业中最常用的目录服务之一,通过其强大的身份管理和访问控制能力,成为实现SSO的理想选择。
通过集成Mendix的OIDC SSO模块和Microsoft AD,企业不仅能够提供更安全便捷的用户访问体验,还能加强对应用程序访问的管理和控制,实现安全与便利的完美平衡。
OIDC SSO模块简介
在构建安全且用户友好的现代应用程序时,身份验证机制扮演着至关重要的角色。OpenID Connect(OIDC)作为一种在OAuth 2.0基础上发展起来的身份层协议,为应用程序提供了一种标准化且安全的用户身份验证方式。它允许应用程序通过一个端点来验证用户的身份,并获取用户的基本信息,这些信息通常以JSON Web Token(JWT)的形式进行安全传输。这种方法不仅简化了应用程序的身份验证流程,还增强了安全性,因为它减少了需要存储和管理的敏感信息数量。
在Mendix平台上,OIDC SSO模块的引入进一步简化了将OIDC集成到应用程序中的过程。这个模块提供了一个直观且易于配置的接口,使得开发人员可以无缝地将Mendix应用与支持OIDC的身份提供者(如Microsoft AD)集成,实现单点登录功能。这种集成不仅增强了应用程序的安全性,还为最终用户带来了更流畅的登录体验。通过利用Mendix的OIDC SSO模块,企业可以轻松地实现跨多个应用程序的安全、统一的认证机制,从而提升整体的IT效率和用户满意度。
配置Azure AD 和Mendix 的OIDC 模块
在 Azure AD 中要完成的步骤:
- 使用开发者帐户登录https://portal.azure.com/并打开 Azure Active Directory 概述。

- 从菜单中单击“企业应用程序”,然后单击“创建自己的应用程序”。
在应用程序注册中,选择您创建的应用程序并设置重定向 URL。

选择 Web 应用程序并输入重定向 URI,然后单击配置。
- 在企业应用程序导航中分配可以访问该应用程序的用户和组。

在 Mendix 应用程序中要完成的步骤:
从 Mendix Marketplace下载OIDC 模块,并将 OIDC 配置页面添加到导航中。
运行时,单击OIDC 配置页面上的“新建”以添加新配置并设置客户端 ID、客户端密钥和 EndPointURL。
- Client id
Client id 可以从应用程序注册页面的概述页面获取。
通过应用程序注册页面上的证书和密钥导航,在 Azure AD 门户中创建新的客户端密钥。
- Client Secret:
通过应用程序注册页面上的证书和密钥导航,在 Azure AD 门户中创建新的客户端密钥。

- EndPoint URL:
在概览页面点击“Endpoint”即可获取OpenId Connect元数据文档,如下所示:

EndPoint URL 并单击导入配置

通过单击新建并保存配置,在选择范围部分中添加范围。

用户现在可以使用 Azure SSO 登录到应用程序。
总结
通过集成Mendix的OIDC SSO模块和Microsoft AD,企业可以实现一个安全、高效且用户友好的单点登录解决方案。这种集成不仅简化了用户的登录过程,消除了多个应用程序之间切换的需要,还显著提高了安全性和IT管理的效率。用户可以享受到一个无缝的访问体验,而IT管理员则能够更有效地管理用户访问权限和安全策略。
随着技术的不断进步和业务需求的演变,Mendix应用与身份管理解决方案的集成将继续向着更加安全、灵活和用户中心的方向发展。企业应该持续关注这些解决方案的最新动态,并根据自身的业务需求和安全要求,不断调整和优化集成方案。此外,定期的性能评估和安全审计也是确保集成解决方案长期有效运行的关键。
资源链接
Mendix 操作手册:OIDC SSO
关于Mendix
作为西门子Xcelerator平台的低代码引擎,Mendix正在迅速成为推动企业数字化发展的首选应用程序开发平台。Mendix让企业能够以前所未有的速度构建应用程序、促进IT团队与业务专家之间开展有意义的协作,并帮助IT团队保持对整个应用程序环境的控制。作为一直被领先的行业分析师视为“领军者和远见者”的低代码平台,Mendix是云原生的、开放的、可扩展的、敏捷的,并且经过实践验证。从人工智能和增强现实,到智能自动化和原生移动,Mendix和西门子Xcelerator已成为“数字优先”企业的中坚力量。Mendix已被46个国家的4,000多家企业采用,并建立了由30多万名开发人员组成的活跃社区,这些开发人员使用该平台创建了20多万款应用程序。
相关文章:
使用 Mendix 中的 OIDC 模块集成 Azure AD SSO
前言 在当今快速发展的数字化世界中,企业追求高效率和灵活性已成为常态。Mendix,作为一个先进的低代码开发平台,正是企业快速响应市场需求、加速数字化转型过程的利器。通过其直观的可视化开发环境,即使是非技术背景的用户也能设…...
day12_SpringCloud(Gateway,Nacos配置中心,Sentinel组件)
文章目录 1 Gateway组件1.1 Gateway简介1.2 Gateway入门1.3 网关路由流程图1.4 路由工厂1.5 过滤器1.5.1 过滤器简介1.5.2 内置过滤器1.5.3 路由过滤器1.5.4 默认过滤器1.5.5 全局过滤器1.5.6 过滤器执行顺序 2 Nacos配置中心2.1 统一配置管理2.2 Nacos入门2.2.1 Nacos中添加配…...
【基于springboot+Vue+Element ui的电影推荐之协同过滤算法简单实现】
基于springbootVueElement ui的电影推荐之协同过滤算法简单实现 1.基于用户的协同过滤算法的简单设计与实现1.1获取某个用户的评分矩阵1.2获取该用户与其他用户的相似度矩阵1.3获取两个用户之间的相似度并存储1.4返回推荐列表 2.基于物品的协同过滤算法的简单设计与实现2.1计算…...
签约仪式如何策划和安排流程?如何邀约媒体现场见证报道
传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 签约仪式的策划和安排流程,以及邀约媒体现场见证报道,都是确保活动成功和提升影响力的关键环节。以下是一些建议: 签约仪式的策划和安排流程 明确目标…...
k8s-生产级的k8s高可用(1) 24
高可用集群 实验至少需要三个master(控制节点),一个可以使外部可以访问到master的load balancer(负载均衡)以及一个或多个外部节点worker(也要部署高可用)。 再克隆三台主机 清理并重启 配置两…...
python中lambda简介及用法
什么是lambda? lambda是python中的一个关键字,它用于创建匿名函数,也就是没有名字的函数。lambda函数通常用于一些简单的操作,比如作为参数传递给其他函数,或者作为返回值返回给调用者。lambda函数的语法如下…...
AI新工具 百分50%算力确达到了GPT-4水平;将音乐轨道中的人声、鼓声、贝斯等音源分离出来等
1: Pi 百分50%算力确达到了GPT-4水平 Pi 刚刚得到了巨大的升级!它现在由最新的 LLMInflection-2.5 提供支持,它在所有基准测试中都与 GPT-4 并驾齐驱,并且使用不到一半的计算来训练。 地址:https://pi.ai/ 2: Moseca 能将音乐…...
websocket前端应用
基本了解 首先要对websocket有一个基本了解:WebSocket是一种在Web浏览器和Web服务器之间创建持久连接的技术。它允许在客户端和服务器之间进行全双工通信,而不需要在每次通信时都发起新的HTTP请求。主要作用包括实时通信、减少延迟、减少宽带消…...
SpringMVC05、结果跳转方式
5、结果跳转方式 5.1、ModelAndView 设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 . 页面 : {视图解析器前缀} viewName {视图解析器后缀} <!-- 视图解析器 --> <bean class"org.springframework.web.servlet.view.InternalResourc…...
STM32基础--位带操作
位带简介 位操作就是可以单独的对一个比特位读和写,这个在 51 单片机中非常常见。51 单片机中通过关键字 sbit 来实现位定义,STM32 没有这样的关键字,而是通过访问位带别名区来实现。 在 STM32 中,有两个地方实现了位带ÿ…...
C# winform 重启电脑
一、重启电脑指令 windows7系统的启动文件夹为“开始菜单”——“所有程序”里面就有“启动”文件夹,其位置是 “C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup” 如果没有,则需要将其中的"administrator…...
波奇学Linux: 信号捕捉
sigaction:修改信号对应的handler方法 act输入型参数,oldact输出型参数 void (*sa_handler) (int) //修改的自定义函数 sigset_t sa_mask // void handler(int signo) {cout<<"catch a signal, signal number: "<<signo<<endl; } int …...
Flink hello world
下载并且解压Flink Downloads | Apache Flink 启动Flink. $ ./bin/start-cluster.sh Starting cluster. Starting standalonesession daemon on host harrydeMacBook-Pro.local. Starting taskexecutor daemon on host harrydeMacBook-Pro.local. 访问localhost:8081 Flin…...
STL之map容器代码详解
基础概念 简介: map中所有元素都是pair。pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)。所有元素都会根据元素的键值自动排序。 本质: map/multimap属于关…...
使用GRU进行天气变化的时间序列预测
本文基于最适合入门的100个深度学习项目的学习记录,同时在Google clolab上面是实现,文末有资源连接 天气变化的时间序列的难点 天气变化的时间序列预测涉及到了一系列复杂的挑战,主要是因为天气系统的高度动态性和非线性特征。以下是几个主…...
uniapp 小程序AP配网
一、TCPSocket.js 封装TCP协议 class socket {constructor() {this.connection {};}// 创建一个TCP实例establish(monitor) {this.connection wx.createTCPSocket();this.connection.connect({ address: "000.000.0.0", port: 6800 });}// 发送消息connect(messag…...
Stable Diffusion ———LDM、SD 1.0, 1.5, 2.0、SDXL、SDXL-Turbo等版本之间关系现原理详解
一、简介 2021年5月,OpenAI发表了《扩散模型超越GANs》的文章,标志着扩散模型(Diffusion Models,DM)在图像生成领域开始超越传统的GAN模型,进一步推动了DM的应用。 然而,早期的DM直接作用于像…...
GESP5级T1真题 [202309] 因数分解——O(sqrt(n))的时间复杂度,值得一看
描述 每个正整数都可以分解成素数的乘积,例如:62*3、2022 *5 现在,给定一个正整数N,请按要求输出它的因数分解式。 输入描述 输入第一行,包含一个正整数N。约定2<N<10^12 输出描述 输出一行,为N…...
Stable Diffusion 3报告
报告链接:https://stability.ai/news/stable-diffusion-3-research-paper 文章目录 要点表现架构细节通过重新加权改善整流流量Scaling Rectified Flow Transformer Models灵活的文本编码器RF相关论文 要点 发布研究论文,深入探讨Stable Diffuison 3的…...
一个足球粉丝该怎么建个个人博客?
做一个个人博客第一步该怎么做? 好多零基础的同学们不知道怎么迈出第一步。 那么,就找一个现成的模板学一学呗,毕竟我们是高贵的Ctrl c v 工程师。 但是这样也有个问题,那就是,那些模板都,太!…...
深入NRF52832 ESB协议栈:从状态机到PPI,剖析与NRF24L01通信的底层时序与避坑指南
深入NRF52832 ESB协议栈:从状态机到PPI的通信稳定性实战指南 1. 无线通信系统的核心挑战 在物联网和智能硬件领域,2.4GHz无线通信已成为设备互联的基础技术。NRF52832作为Nordic Semiconductor的旗舰级蓝牙低功耗SoC,其内置的Enhanced ShockB…...
Python剪映API终极指南:5分钟掌握视频自动化批量处理技巧
Python剪映API终极指南:5分钟掌握视频自动化批量处理技巧 【免费下载链接】JianYingApi Third Party JianYing Api. 第三方剪映Api 项目地址: https://gitcode.com/gh_mirrors/ji/JianYingApi 你想摆脱每天重复的视频剪辑工作吗?你想用Python代码…...
别再死记硬背了!用立创EDA+Excel,手把手教你搭建个人电子元器件库(附避坑清单)
电子工程师的元器件管理革命:从零散笔记到智能数据库 在电子设计领域,元器件管理一直是个令人头疼的问题。打开任何一位硬件工程师的电脑,你可能会发现数十个命名混乱的Excel表格、散落在各处的PDF规格书,以及一堆随手记录的纸质笔…...
Rust的#[repr(transparent)]包装
Rust语言中的#[repr(transparent)]属性是一个强大而低调的工具,它允许开发者在不牺牲性能的前提下,为类型系统增加更强的语义表达。对于追求零成本抽象的Rust程序员来说,这个属性是构建安全且高效代码的关键之一。本文将深入探讨它的核心原理…...
从晶振到基站同步:拆解手机射频校准中AFC的‘隐藏’逻辑与避坑指南
从晶振到基站同步:拆解手机射频校准中AFC的‘隐藏’逻辑与避坑指南 在智能手机的射频系统中,频率校准(AFC)就像一位隐形的交响乐指挥,默默协调着晶振、基带芯片与基站之间的精密互动。当你在电梯里流畅刷短视频时&…...
告别单调显示!用LinkBoy和GD32玩转240*240彩屏:动画、绘图与性能优化实战
告别单调显示!用LinkBoy和GD32玩转240*240彩屏:动画、绘图与性能优化实战 在嵌入式开发领域,显示效果往往决定了用户体验的上限。一块240*240的彩色屏幕,配合GD32这类高性能低成本单片机,能创造出远超传统单色屏的视觉…...
SSD-PyTorch训练自定义数据集避坑指南:从VOC格式准备到模型调参全流程
SSD-PyTorch实战:自定义数据集训练避坑与性能优化全解析 第一次用SSD训练自己的目标检测模型时,我盯着报错信息发呆了半小时——明明按照教程操作,却在数据加载环节卡住。后来才发现是PyTorch版本差异导致的API变更。这种"看似简单实则暗…...
别再被短读长困扰了!手把手教你用PacBio Sequel平台搞定全长转录本测序
全长转录本测序实战指南:PacBio Sequel平台解决异构体分析难题 实验室里,转录组数据分析师小张盯着屏幕上密密麻麻的短读长序列比对结果皱起了眉头——这些碎片化的数据根本无法准确还原复杂多变的转录本结构。异构体识别率低、新基因发现困难、可变剪切…...
SketchUp场景卡顿救星:用‘组件’和‘面片植物’优化大型场景的实战技巧
SketchUp大型场景优化实战:用组件与面片植物打造流畅工作流 当你的SketchUp模型开始像老式拖拉机一样嘎吱作响,旋转视图时卡成PPT,是时候重新思考建模策略了。我曾参与过一个占地12公顷的度假村项目,初始模型包含2000多棵3D树木和…...
别再为模型部署发愁了!手把手教你用torch.onnx.export把PyTorch模型转成ONNX(附常见报错解决)
从PyTorch到ONNX:模型部署实战指南与避坑手册 为什么ONNX成为模型部署的首选桥梁? 在深度学习项目的生命周期中,训练出一个高精度的模型只是完成了第一步。真正让模型产生商业价值的,是将它成功部署到生产环境中。而ONNXÿ…...
