我有一个网站,并希望将Wiki集成到其中。
我知道我可以在用户登录时更改我的代码以注册和/或设置wiki cookie,但这会降低系统速度,特别是因为不是每个用户都会访问wiki。
有没有办法让wiki检查PHP会话是否存在并自动显示来自主站点的登录用户还登录wiki?
我试过调查SessionManager和AuthManager但是纪录片对我来说太复杂了,因为这是我第一次使用MediaWiki。如果有人能够为我指出正确的文档部分,我将非常感激。
答案 0 :(得分:0)
是的,这就是会话提供商的用途。这样的事情可能有用:
MySessionProvider extends ImmutableSessionProviderWithCookie {
public function provideSessionInfo( WebRequest $request ) {
$user = getUserFromCustomCookies();
if ( $user ) {
return new SessionInfo( SessionInfo::MAX_PRIORITY, [
'provider' => $this,
'id' => md5( $user->getName() ),
'userInfo' => UserInfo::newFromUser($user, true),
'persisted' => false,
] );
}
return null;
}
}
(不要设置sessionCookie*
参数。)