强制用户在浏览器下访问页面登录cakephp


Force users visiting pages under webroot to log in to cakephp

启用身份验证后,所有访问cakephp中任意控制器页面的用户都将被定向到登录页面。但是,对于webroot文件夹下的页面,用户将不会被重定向登录。如何强迫用户在浏览器下访问页面登录cakephp?webroot下的页面都是用angularjs编写的。

这个问题与下面的问题类似。

将webroot下的所有网页重定向到Cakephp的登录页面

然而,我重新问这个问题是因为;

  1. 我正在使用cakephp ver3。
  2. 该问题提供的答案不起作用

这些页面使用angularjs。所以,正确的方法是让那些angularjs页面重定向用户到登录页面?这是正确的吗?

单页应用的正确方法应该是根据API对用户进行身份验证,然后使用无状态认证,这通常是angular应用的JWT令牌。你的angular用户服务应该告诉你用户是否登录的状态。然后,您可以重定向他或通过API调用登录他。

见http://florian-kraemer.net/2014/07/cakephp-and-token-based-auth-with-angular-js/