我知道这个问题首先破坏了拥有安全性的目标,但是您知道客户有时会如何。
基本上,客户端有 2 个站点,一个内置 modx,一个内置 asp,它们都有一个登录位置,每个访问者都可以使用一个用户配置文件。
他们希望用户能够登录到 asp 站点,然后单击链接以访问 modx 站点并自动登录 - 我什至不确定这是否可能......
我尝试将登录表单所做的相同变量传递给各个页面,但没有任何成功,我每次都返回到登录页面。
www.mywebsite.com/index.phpid=87&username=myusername&password=mypassword&returnUrl=%2F&service=login&Login=Login
有没有其他人尝试过类似的东西?我有一些代码可以让我用 php 做一些事情,但是在我现在知道的 asp 中构建的引用站点,我有点难过。
E2A:
我在 Modx 论坛上问了同样的问题,并通过回复收到了这个问题:
我认为最好的方法应该是使用第三方登录服务,例如 OpenID。但这意味着要更改基于asp的网站。如果您想使用 url 参数执行此操作,请不要使用“登录”片段。“登录”需要输入来验证用户。制作一个自定义片段并使用安全/登录处理器(我假设您正在运行 Revolution 2.2x)。片段可以是这样的:
<?php
$loginContext = $modx->context->get('key');
$c = array(
'login_context' => $loginContext,
'username' => $_GET['username'],
'password' => $_GET['password'],
'returnUrl' => null,
'rememberme' => false
);
$response = $modx->runProcessor('security/login', $c);
return true;
?>
该片段似乎有效并返回值 1,但它没有让我登录,可能是因为我不知道这意味着什么
get usage of the security/login processor
我会在哪里做呢?