c# - 当特定用户在不同的服务器上登录我的网站时登录我的 MediaWiki 网站
问题描述
我有一个使用 IIS 的 ASP.NET/C# 网站,当用户成功登录时(使用登录控制并检查 oracle 表以获取用户信息),我创建了一个会话变量,让网站知道用户已通过身份验证。我还使用托管在不同 Web 服务器上的 Media Wiki 创建了一个 Wiki 站点。我将从用户登录的主网站链接到 Wiki。
我需要做的是,当特定用户登录到我的主站点时,我希望他们在导航到该页面时也登录到我的 Wiki 站点。我希望他们能够编辑 Wiki 而无需再次登录。
这仅适用于少数将在我的主站点上的用户表中被标记并且已经在我的 Wiki 站点上拥有用户帐户的人。最好的方法是什么?
我确实阅读了 Media Wiki 网站上的信息,但它对 IIS 以及如何设置它没有帮助。为了让 MediaWiki 知道我想登录到哪个用户,我必须手动设置 remote_user 环境变量,或者我可以告诉 MediaWiki 查找我的会话变量值吗?
解决方案
用于此的内部 MediaWiki 机制是SessionProvider(有些复杂,文档技术含量很高)。将身份验证的负担推给 Web 服务器软件的一个简单实现是Auth remoteuser扩展。
否则,如果您共享一个域,您可以在您的主应用程序中以某种可验证的方式(例如数字签名)设置 cookie,并在您的 wiki 上验证它们。如果您不这样做,wiki 将不得不触发对主应用程序的 Web 请求,该请求将检查 cookie 并以身份验证状态进行响应,并且 wiki 将基于此设置其 cookie。
推荐阅读
- html - css flexbox布局模块中的表格设计
- python - AttributeError:实例仅在 Linux 中没有属性错误
- javascript - RangeError:运行快照测试时超出了最大调用堆栈大小
- python - 检查用户是否已在 python 中使用 selenium 成功登录
- jenkins - 如何在具有节点,阶段的詹金斯文件中使用凭证功能
- laravel - 如何使用 Encrypter 包在 laravel 中显示 AES 加密密钥?
- java - java 文档中未注明作者的内容是什么
- javascript - 仅在构建程序后出现神秘的 css 错误,JS React
- angular5 - angular5中带有文本框的下拉菜单
- php - 在图像标签正则表达式中替换 .PNG 扩展名后的数据