Theo cakebook section on the Auth component, tôi có thể thực hiện thẩm định đơn giản bằng cách sử dụng những người sử dụng điều khiển sau:Có cách nào dễ dàng để lấy dữ liệu người dùng AuthComponent từ một khung nhìn trong CakePHP không?
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());
}
}
Tôi muốn để có thể giống như sau vào quan điểm của tôi:
<?php
$username = $auth->user('username');
echo "Welcome " . $username;
?>
Is có một cách đơn giản để làm điều này, hoặc tôi cần phải ghi đè lên chức năng đăng nhập và lưu trữ tên người dùng vào phiên?
Cập nhật
Alexander's answer là chính xác những gì tôi muốn. Tuy nhiên, tôi sẽ thêm những điều sau đây trong trường hợp người khác bị nhầm lẫn như tôi đã làm.
Tôi đã mất một thời gian để hiểu rằng nếu bạn thay đổi mô hình sử dụng Auth (ví dụ, bạn có thể có một bảng 'người' thay vì 'người'), sau đó bạn cần phải sử dụng một cái gì đó như:
$persondata = $session->read('Auth.Person');
Cảm ơn bạn. Điều này thật đúng với gì mà tôi đã tìm kiếm. –
Bạn nên sử dụng cú pháp này trong CakePHP 2.x $ userdata = $ this-> session-> read ('Auth.User'); $ username = $ this-> session-> read ('Auth.User.username'); – vinzcelavi
Lưu ý: ít nhất trong CakePHp 2.7 không hoạt động, nó phải là $ this-> Session .... Các s trong phiên phải là chữ hoa –