启用身份验证后,所有访问cakephp中任意控制器页面的用户都将被定向到登录页面。但是,对于webroot文件夹下的页面,用户将不会被重定向登录。如何强迫用户在浏览器下访问页面登录cakephp?webroot下的页面都是用angularjs编写的。
这个问题与下面的问题类似。
将webroot下的所有网页重定向到Cakephp的登录页面
然而,我重新问这个问题是因为;
- 我正在使用cakephp ver3。
- 该问题提供的答案不起作用
这些页面使用angularjs。所以,正确的方法是让那些angularjs页面重定向用户到登录页面?这是正确的吗?
单页应用的正确方法应该是根据API对用户进行身份验证,然后使用无状态认证,这通常是angular应用的JWT令牌。你的angular用户服务应该告诉你用户是否登录的状态。然后,您可以重定向他或通过API调用登录他。
见http://florian-kraemer.net/2014/07/cakephp-and-token-based-auth-with-angular-js/