我正在构建一个Silverstripe网站,允许用户注册一些东西。我有几页在CMS中将页面可见性设置为“登录用户”,这很棒,但默认操作是重定向到/ Security/Login。是否有一种简单的方法将常规页面的重定向更改为goto etc/Account/Login,并保留CMS用户的默认/安全/登录?Silverstripe - Admin登录表格/会员登录表格
感谢
我正在构建一个Silverstripe网站,允许用户注册一些东西。我有几页在CMS中将页面可见性设置为“登录用户”,这很棒,但默认操作是重定向到/ Security/Login。是否有一种简单的方法将常规页面的重定向更改为goto etc/Account/Login,并保留CMS用户的默认/安全/登录?Silverstripe - Admin登录表格/会员登录表格
感谢
与其他插件的帮助下,我使用的代码
public function onBeforeSecurityLogin()
{
$backUrl = $this->owner->getRequest()->getVar('BackURL');
if (!strstr($backUrl, '/admin/')) {
if (Controller::curr()->class != 'Account') {
$link = 'account/login' . '?BackURL=' . urlencode($backUrl);
return $this->owner->redirect($link);
}
}
}
这一点,我还延长了安全类来创建自己的处理程序和表单登录
您可以设置?BackURL=/Account/Login
在链接中,还是在Session
。
或者设置配置变量,如:
Security:
login_url: Account/Login
这只会为所有用户设置它们,而不是一个用户类型的链接和另一个用户类型的链接 – Barry