Cakephp替代不显示logedin用户,登录/注册页面./

时间:2016-02-29 10:40:23

标签: cakephp-2.3

据我所知,如果您不想显示日志记录,注册页面等用户,您只需要做的就是..

library(stringdist)

sentenceMatch <- data.frame(Sentence=c("job not ready time window pmg inc gvu austin timedout pmg inc plm",
                                       "data delay hpsb unable deliver icon scp action required http hpedia osp",
                                       "job completed abnormally wwapo bw kili inc promaster",
                                       "job completed abnormally apo ww promaster net apoww abend apo ww",
                                       "error occurred launching job apo ww inc promaster net errorlaunching apo"))

sentenceMatch$Sentence <- as.character(sentenceMatch$Sentence)

overallMatrix <- stringdistmatrix(sentenceMatch$Sentence, sentenceMatch$Sentence, method = "lv")

在控制器/操作ex中:用户/登录。但是,我有许多页面,我不希望登录用户看到,因此在任何地方使用上述代码变得很麻烦。有没有更好的方法来做到这一点?

2 个答案:

答案 0 :(得分:1)

您显示的代码是检查授权的错误方式。对于无状态授权,它将失败,如果在一个地方发生拼写错误或者auth会话被命名为不同,它将失败。您基本上忽略了框架为此用例提供的功能。

正确的方法是使用框架的授权适配器。我建议您do the auth tutorial

您所描述的内容听起来像您有不同的角色,例如&#34;未登录用户&#34;,&#34;登录用户&#34;以及其他一些角色,例如&#34; admin&#34;允许查看&#34;登录用户&#34;不允许看。

使用SimpleRbacimplement your own role based authorization adapter等插件。

答案 1 :(得分:0)

您可以在AppController

中尝试此操作
public function beforeFilter() {
     if ($this->Session->check('Auth.User')){
          if($this->params["controller"] == "YourController" && $this->params["action"] == "YourAction"){
              $this->redirect(array('controller' => 'pages', 'action' => 'index'));
          }
     }
}