Ai có thể tóm tắt về chức năng user_token trong mô-đun Auth? Sử dụng là gì và cách thức kết hợp trong mô-đun Auth?Mô-đun auth Kohana V3 mô-đun user_token chức năng
5
A
Trả lời
12
Nó được sử dụng khi người dùng kiểm tra hộp 'Nhớ thông tin đăng nhập của tôi' trên trang web của bạn. Mã thông báo được tạo cho người dùng và được lưu trữ trong bảng user_tokens.
Nếu bạn nhìn vào lớp Kohana_Auth_ORM trong _login chức năng, bạn có thể xem cách nó được tạo ra:
if ($remember === TRUE)
{
// Create a new autologin token
$token = ORM::factory('user_token');
// Set token data
$token->user_id = $user->id;
$token->expires = time() + $this->config['lifetime'];
$token->save();
// Set the autologin cookie
cookie::set('authautologin', $token->token, $this->config['lifetime']);
}
Nó được sử dụng bởi các auto_login() chức năng cũng trong lớp Kohana_Auth_ORM:
/**
* Logs a user in, based on the authautologin cookie.
*
* @return boolean
*/
public function auto_login()
{
if ($token = cookie::get('authautologin'))
{
// Load the token and user
$token = ORM::factory('user_token', array('token' => $token));
if ($token->loaded() AND $token->user->loaded())
{
if ($token->user_agent === sha1(Request::$user_agent))
{
// Save the token to create a new unique token
$token->save();
// Set the new token
cookie::set('authautologin', $token->token, $token->expires - time());
// Complete the login with the found data
$this->complete_login($token->user);
// Automatic login was successful
return TRUE;
}
// Token is invalid
$token->delete();
}
}
return FALSE;
}
Bạn có thể sử dụng chính xác khả năng này trong bộ điều khiển ủy quyền của mình. Tôi là tương đối mới để Kohana, nhưng tôi thực hiện một kiểm tra đơn giản để chuyển hướng người dùng nếu họ đi đến biểu mẫu đăng nhập và đã đăng nhập hoặc có thể tự động đăng nhập:
if (Auth::instance()->logged_in() || Auth::instance()->auto_login())
Request::instance()->redirect('auth/');
mã cho các mô-đun Auth isn' quá khó hiểu. Nếu bạn là người mới đến Kohana, đó là một điểm khởi đầu tốt để xem cách mô-đun ORM hoạt động.
Các vấn đề liên quan
- 1. Làm thế nào để môđun hóa ứng dụng JSF/Facelets/Spring bằng OSGi?
- 2. Thực tiễn tốt nhất cho việc môđun hóa các kịch bản lệnh kiểm tra của Selenium RC
- 3. Maven - bao gồm tất cả các môđun con của một pom như phụ thuộc trong một mô-đun
- 4. "WHERE cột KHÔNG NULL" với Trình tạo truy vấn Kohana v3
- 5. Kohana, .htaccess và $ _GET
- 6. Kohana 3 pagination
- 7. Chức năng trong một TSQL Chức năng
- 8. Ứng dụng CRUD mẫu Kohana
- 9. Node.js http basic auth
- 10. chức năng ảo const vs chức năng ảo không const
- 11. Python vá giả một chức năng trong một chức năng
- 12. Chức năng gọn gàng với chức năng Google Maps FitBounds()
- 13. Delphi 2010 Chức năng rộng so với chức năng chuỗi
- 14. Gọi chức năng ghi đè từ chức năng ghi đè
- 15. khai C chức năng trong một chức năng
- 16. chức năng inline vs chức năng vĩ mô
- 17. Sử dụng chức năng Chuyển qua chức năng khác nhau
- 18. Chức năng định nghĩa bên trong chức năng
- 19. Cần gọi chức năng gốc từ chức năng bị ngắt
- 20. javascript: Re-gán một chức năng với chức năng khác
- 21. Phantomjs không thực thi chức năng trong page.evaluate chức năng
- 22. chức năng thành viên ẩn chức năng miễn phí
- 23. chức năng dụ Javascript so với chức năng nguyên mẫu
- 24. nếu chức năng không tồn tại ghi chức năng - javascript
- 25. Chức năng bảo tồn cục bộ chức năng băm
- 26. Chức năng so sánh chuỗi an toàn
- 27. Kohana tiếp cận khách hàng ip
- 28. Kohana 3.2 'trước' ORM tham gia
- 29. API Google Maps v3 BrowserIsCompatible
- 30. Chức năng xem không trả về một phản hồi
Xin chào Brian Riehman, Cảm ơn bạn đã repply. Và vâng tôi là người mới cho khung công tác Kohana. – Asif