在CakePHP中,我们可以使用$this->Auth->allow('someMethod');
使页面无需登录即可查看。如何让某些用户登录时看不到相同的页面?一个例子是我们希望可以在没有用户登录的情况下访问的注册页面,但是一旦用户登录后就不能访问。如何在用户登录时使某些页面不可用
我把$this->Auth->deny('someMethod')
写入isAuthorized()
但在我看来,如果该方法是在允许列表中,当我们尝试运行该页面时,不会调用isAuthorized
。
任何输入?谢谢
事情是......我发现在查看允许列表中的页面时,甚至没有调用isAuthorized()。 但是,无论如何要确认它可能无法通过蛋糕Auth进行操作。 – user152235 2009-08-07 05:00:38
'isAuthorized()'计算用户是否被您指定为拒绝或允许的内容授权,所以您已将其取消。 'deny()'拒绝所有人的动作,所以动态使用它是有意义的。你想要的是拒绝(或重定向)用户是否简单登录。要做到这一点,请使用我上面的代码。 – deceze 2009-08-07 05:05:51
阅读“isAuthorized()”的描述,它与“已登录”非常不同:http://api.cakephp.org/class/auth-component#method-AuthComponentisAuthorized – deceze 2009-08-07 05:07:18