首页 > 解决方案 > 当特定用户在不同的服务器上登录我的网站时登录我的 MediaWiki 网站

问题描述

我有一个使用 IIS 的 ASP.NET/C# 网站,当用户成功登录时(使用登录控制并检查 oracle 表以获取用户信息),我创建了一个会话变量,让网站知道用户已通过身份验证。我还使用托管在不同 Web 服务器上的 Media Wiki 创建了一个 Wiki 站点。我将从用户登录的主网站链接到 Wiki。

我需要做的是,当特定用户登录到我的主站点时,我希望他们在导航到该页面时也登录到我的 Wiki 站点。我希望他们能够编辑 Wiki 而无需再次登录。

这仅适用于少数将在我的主站点上的用户表中被标记并且已经在我的 Wiki 站点上拥有用户帐户的人。最好的方法是什么?

我确实阅读了 Media Wiki 网站上的信息,但它对 IIS 以及如何设置它没有帮助。为了让 MediaWiki 知道我想登录到哪个用户,我必须手动设置 remote_user 环境变量,或者我可以告诉 MediaWiki 查找我的会话变量值吗?

标签: c#authenticationiissession-variablesmediawiki

解决方案


用于此的内部 MediaWiki 机制是SessionProvider(有些复杂,文档技术含量很高)。将身份验证的负担推给 Web 服务器软件的一个简单实现是Auth remoteuser扩展。

否则,如果您共享一个域,您可以在您的主应用程序中以某种可验证的方式(例如数字签名)设置 cookie,并在您的 wiki 上验证它们。如果您不这样做,wiki 将不得不触发对主应用程序的 Web 请求,该请求将检查 cookie 并以身份验证状态进行响应,并且 wiki 将基于此设置其 cookie。


推荐阅读