2012-02-15 45 views
6

Tôi đang cố gắng thực hiện những điều sau: Thay đổi ngày hết hạn của phiên cookie của người dùng dựa trên loại của người dùng.Sửa đổi hết hạn phiên cookie và hết thời gian chờ phiên cho phiên CakePHP

Tôi có ứng dụng web CakePHP trong đó tôi đã tạo thành phần xác thực của mình (thay vì Auth của CakePHP) bằng cách sử dụng các phiên CakePHP. Tôi đã cấu hình CakePHP để xử lý các phiên sử dụng cơ sở dữ liệu.

Dưới đây là các thiết lập cấu hình có liên quan mà tôi có trong config.php của tôi:

Configure::write('Session.save', 'database'); 
Configure::write('Session.timeout', '36'); 
Configure::write('Security.level', 'medium'); 

Làm thế nào để kéo dài tuổi cookie phiên ngày hết hạn và cập nhật các giá trị trong "hết hạn" cột trong "phiên" bảng?

+0

có thể điều này có thể giúp: 'cao' Phiên thời gian chờ trong phiên 'Session.timeout' x 10; 'thời gian chờ' trung bình trong phiên 'Session.timeout' x 100; Thời gian chờ phiên 'thấp' trong 'Session.timeout' x 300; –

+1

Điều này cũng có thể hữu ích: http://www.dereuromark.de/2012/02/02/more-persistent-sessions-in-cake2-x/ – Costa

Trả lời

6

Go trong app/config/core.php

Trong tìm kiếm cho tệp này,

Configure::write('Session.timeout', '120'); 

phiên thời gian ra thời gian (tính bằng giây), theo mặc định nó là 120 giây. Bạn có thể chỉnh sửa ở đây theo yêu cầu. Bây giờ thời gian timeout thực tế phụ thuộc vào,

Configure::write('Security.level', 'medium'); 

if 'high' then Session timeout in 'Session.timeout' x 10, 
if 'medium' then Session timeout in 'Session.timeout' x 100, 
if 'low' Session timeout in 'Session.timeout' x 300 

Vì vậy, bằng sự kết hợp của Session.Timeout và Security.level bạn có thể lấy thời gian chờ phiên mong muốn

+8

điều này có thể được cấu hình khi đang di chuyển không? giả sử một số người dùng có thời gian hết hạn lớn hơn những người khác? – arod

4

Tìm này: app/config/core.php

Thay đổi dòng này để giá trị mong muốn của bạn trong vài phút:
Configure::write('Session.timeout', '120');

(Vì CakePHP 2.3.0 Security.level không còn được sử dụng.
Changelog: http://cakephp.org/changelogs/2.3.0)

Các vấn đề liên quan