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

news2025/6/19 14:10:04

image.png

前言

在当今快速发展的数字化世界中,企业追求高效率和灵活性已成为常态。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 概述。

image.png

  • 从菜单中单击“企业应用程序”,然后单击“创建自己的应用程序”。

在应用程序注册中,选择您创建的应用程序并设置重定向 URL。

image.png

选择 Web 应用程序并输入重定向 URI,然后单击配置。

  • 在企业应用程序导航中分配可以访问该应用程序的用户和组。

image.png

在 Mendix 应用程序中要完成的步骤:

从 Mendix Marketplace下载OIDC 模块,并将 OIDC 配置页面添加到导航中。
运行时,单击OIDC 配置页面上的“新建”以添加新配置并设置客户端 ID、客户端密钥和 EndPointURL。

  • Client id

Client id 可以从应用程序注册页面的概述页面获取。

通过应用程序注册页面上的证书和密钥导航,在 Azure AD 门户中创建新的客户端密钥。

  • Client Secret:

通过应用程序注册页面上的证书和密钥导航,在 Azure AD 门户中创建新的客户端密钥。

image.png

  • EndPoint URL:

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

image.png

EndPoint URL 并单击导入配置

image.png

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

image.png

用户现在可以使用 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多万款应用程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1503513.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c#触发事件

Demo1 触发事件 <Window x:Class"WPFExample.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"Title"WPF Example" Height"600" Wi…

谷歌 Gemma 安装教程

目录 一、概述 二、安装 Ollama 三、安装 Docker 四、安装 Open WebUI 五、测试 结束 一、概述 Gemma 是谷歌推出了全新的开源模型。Gemma 是免费的&#xff0c;模型权重也一并开源了&#xff0c;并且允许商用&#xff0c;支持安装在本地&#xff0c;即使了断网依然使用…

PyQt5开发基础知识【一】

零.前言&#xff1a; 作者写这篇博客的目的主要在于巩固PyQt5的基础知识&#xff0c;例如PyQt5的几个核心模块&#xff0c;分别有什么功能&#xff0c;PyQt5的所有控件的使用方法等。 一.PyQt5的常见模块 1.1QtCore&#xff1a; 该模块包含了非GUI的功能设计。 这个模块被…

二 centos 7.9 磁盘挂载

上一步 一 windso10 笔记本刷linux cent os7.9系统-CSDN博客 笔记本有两个盘,系统装在128G的系统盘上,现在把另外一个盘挂载出来使用 lsblk 发现磁盘已经分好了,直接挂载就好了,参考文章:Centos7.9 挂载硬盘_centos7.9挂载硬盘-CSDN博客 永久挂载 lsblk -f分区格式化 mkfs…

图形库实战丨C语言扫雷小游戏(超2w字,附图片素材)

目录 效果展示 游玩链接&#xff08;无需安装图形库及VS&#xff09; 开发环境及准备 1.VS2022版本 2.图形库 游戏初始化 1.头文件 2.创建窗口 3.主函数框架 开始界面函数 1.初始化 1-1.设置背景颜色及字体 1-2.处理背景音乐及图片素材 1-3.处理背景图位置 2.选…

数据结构从入门到精通——队列

队列 前言一、队列1.1队列的概念及结构1.2队列的实现1.3队列的实现1.4扩展 二、队列面试题三、队列的具体实现代码Queue.hQueue.ctest.c队列的初始化队列的销毁入队列出队列返回队头元素返回队尾元素检测队列是否为空检测元素个数 前言 队列是一种特殊的线性数据结构&#xff…

141 Linux 系统编程18 ,线程,线程实现原理,ps –Lf 进程 查看

一 线程概念 什么是线程 LWP&#xff1a;light weight process 轻量级的进程&#xff0c;本质仍是进程(在Linux环境下) 进程&#xff1a;独立地址空间&#xff0c;拥有PCB 线程&#xff1a;有独立的PCB&#xff0c;但没有独立的地址空间(共享) 区别&#xff1a;在于是否共…

1、Ajax、get、post、ajax,随机颜色

一、Ajax初始 1、什么是Ajax&#xff1f; 异步的JavaScript和xml 2、xml是什么&#xff1f; 一种标记语言&#xff0c;传输和存储数据----------现在用JSON传输数据 3、Ajax的作用 局部加载 可以使网页异步更新 4、Ajax的原理或者步骤(6步) 创建Ajax对象 if (window.X…

【BUG】删除git本地仓库/远程仓库历史版本中的大文件以减少仓库大小

目录 前言排查过程解决过程通过如下命令查找历史大文件删除大文件&#xff0c;重构历史版本提交添加.ignore文件 总结 前言 某天像往常一样提交代码到gitee仓库&#xff0c;出现代码提交卡住不到的情况 2. 我百思不得姐&#xff0c;坚信bug会自己修复自己的原则等待了5分钟&am…

Python 一步一步教你用pyglet仿制鸿蒙系统里的时钟

目录 鸿蒙时钟 1. 绘制圆盘 2. 创建表类 3. 绘制刻度 4. 刻度数值 5. 添加指针 6. 转动指针 7. 联动时间 8. 时钟走动 鸿蒙时钟 本篇将用python pyglet库复刻华为手机鸿蒙系统闹钟程序的时钟&#xff0c;先在上图中抓取出时分秒针及刻度、表盘的颜色RGB值&#xff1a…

分布式解决方案

目录 1. 分布式ID1-1. 传统方案1-2. 分布式ID特点1-3. 实现方案1-4. 开源组件 1. 分布式ID 1-1. 传统方案 时间戳UUID 1-2. 分布式ID特点 全局唯一高并发高可用 1-3. 实现方案 方案总结&#xff1a; 号段模式 有两台服务器&#xff0c;给第一台服务器分配0-100&#xff0…

考虑局部遮阴的光伏PSO-MPPT控制MATLAB仿真

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 简介 光伏电池阵列的输出特性曲线不是线性变化的。当光伏电池遮荫时&#xff0c;产生的功 率会不断变化&#xff0c;致使光伏电池阵列的输出功率不断变化&#xff0c;其输出特性曲线呈现多峰值的现象。 多峰…

外包干了30天,技术明显退步。。

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 这次来聊一个大家可能也比较关心的问题&#xff0c;那就是就业城市选择的问题。而谈到这个问题&a…

简单BFF架构设计

又到周五了有了一个小时的闲暇时间简单写点东西&#xff0c;介绍一个简单的BFF的架构。BFF:Backends For Frontends,其实现在是个比较常见的前端架构设计的方案&#xff0c;其最大的优势便在于前端可以高度自由的在Node层做一些server端才可以做的东西&#xff0c;比如SSR、登录…

Day24:安全开发-PHP应用文件管理模块显示上传黑白名单类型过滤访问控制

目录 文件管理模块-上传-过滤机制 文件管理模块-显示-过滤机制 思维导图 PHP知识点 功能&#xff1a;新闻列表&#xff0c;会员中心&#xff0c;资源下载&#xff0c;留言版&#xff0c;后台模块&#xff0c;模版引用&#xff0c;框架开发等 技术&#xff1a;输入输出&#…

示波器探头的使用

无源探头(Tektronix P2220) 阻抗&#xff1a;1Mhz 衰减&#xff1a;10:1/1:1(与探头上的档位X10/X1相关&#xff0c;如果探头没有档位默认为10:1) 探头型号&#xff1a;电压 高压差分探头&#xff08;Tektronix P5200A) 阻抗&#xff1a;1Mhz 衰减&#xff1a;50:1/500:1(…

深入理解python之self

首先明确的是self只有在类的方法中才会有&#xff0c;独立的函数或方法是不必带有self的。self在定义类的方法时是必须有的&#xff0c;虽然在调用时不必传入相应的参数。 self名称不是必须的&#xff0c;在python中self不是关键词&#xff0c;你可以定义成a或b或其它名字都可…

Qt 定时器事件

文章目录 1 定时器事件1.1 界面布局1.2 关联信号槽1.3 重写timerEvent1.4 实现槽函数 启动定时器 2 定时器类 项目完整的源代码 QT中使用定时器&#xff0c;有两种方式&#xff1a; 定时器类&#xff1a;QTimer定时器事件&#xff1a;QEvent::Timer&#xff0c;对应的子类是QTi…

Vue.js+SpringBoot开发大学计算机课程管理平台

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 实验课程档案模块2.2 实验资源模块2.3 学生实验模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 实验课程档案表3.2.2 实验资源表3.2.3 学生实验表 四、系统展示五、核心代码5.1 一键生成实验5.2 提交实验5.3 批阅实…

Clock Verification IP

Clock Verification IP IP 参数及接口 IP 例化界面 相关函数 start_clock //产生时钟 <hierarchy_path>.IF.start_clockstop_clock //停止时钟 <hierarchy_path>.IF.stop_clockset_initial_value //设置时钟初始值为 0 <hierarchy_path>IF.set_initia…