根据蛋糕书section on the Auth component ,我可以使用以下用户 Controller 实现简单的身份验证:
class UsersController extends AppController {
var $name = 'Users';
var $components = array('Auth'); // Not necessary if declared in your app controller
/**
* The AuthComponent provides the needed functionality
* for login, so you can leave this function blank.
*/
function login() {
}
function logout() {
$this->redirect($this->Auth->logout());
}
}
我希望能够将以下内容纳入我的 View :
<?php
$username = $auth->user('username');
echo "Welcome " . $username;
?>
有没有一种简单的方法可以做到这一点,还是我需要覆盖登录功能并将用户名存储到 session 中?
更新
Alexander's answer正是我想要的。但是,我会添加以下内容,以防其他人像我一样感到困惑。
我花了一段时间才明白,如果您更改 Auth 使用的模型(例如,您可能有一个“persons”表而不是“users”),那么您需要使用如下内容:
$persondata = $session->read('Auth.Person');
最佳答案
实际上,这些信息很容易从 session 中获得。您使用 session 助手来获取它。我相信正确的语法是:
$userdata = $session->read('Auth.User');
$username = $session->read('Auth.User.username');
编辑:
对于 CakePHP 2.X 和语法是:
$userdata = $this->session->read('Auth.User');
$username = $this->session->read('Auth.User.username');
关于php - 有没有一种简单的方法可以从 CakePHP 的 View 中获取 AuthComponent 用户数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/929186/