如何将“/ login”和“/ logout”映射到SilverStripe 3中的安全控制器?

时间:2013-11-19 20:11:01

标签: php security login routing silverstripe

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

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

  1. 'login':'安全'
  2. 'login // $ Action / $ ID / $ Name':'Security'
  3. 两者都不起作用,我不喜欢默认加载的“/ Security / login”路径。有什么方法可以使用系统的登录工具吗?

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

    如果可能的话,我想把所有内容统一到一个班级。但我不认为那样,所以下一个最好的事情就是拥有一个“/ login”路径和一个“/ logout”路径,它只指向dang Security控制器和User类中的其他所有内容。

    思想,想法?

    谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在.htaccess文件中放置一些网址重写,以将这些网址路由到安全路径:

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