我如何获得“/登录“;以及“/注销”;以映射到SilverStripe 3中的安全控制器


How do I get "/login" and "/logout" to map to the Security controller in SilverStripe 3?

我想使用"http://www.mysite.com/login"作为访问登录表单的登录路径。然后我想对logout("/loogout")执行同样的操作。

我已经尝试在/mysite/code/_config/routes.yml中单独添加以下内容:

  1. 'login':'Security'
  2. "login//$Action/$ID/$Name":"安全性"

两者都不起作用,我不喜欢默认加载的"/Security/login"路径。有没有办法使用系统的登录工具?

我还尝试创建一个用户控制器,它扩展了Security类,并具有"/user/login"路由。它工作得很好。但后来我很难将用户控制器用于其他用户页面功能,如注册和配置文件,因为它没有扩展page_controller类。所以这很烦人。

如果可能的话,我想把所有的东西统一到一个班里。但我不认为会这样,所以下一个最好的方法是有一个"/login"路径和一个"/ologout"路径,它们只指向当当安全控制器和User类中的其他所有内容。

想法,想法?

谢谢!

您可以在.htaccess文件中进行一些url重写,以将这些url路由到安全路径:

RewriteRule ^logout/?$ Security/logout [NC,L]
RewriteRule ^login/?$ Security/login [NC,L]