2012-04-07 20 views
6

Tôi có một ứng dụng web.Làm cách nào để làm cho "apple-mobile-web-app-capable" không bị mất phiên?

<meta name="apple-mobile-web-app-capable" content="yes"> 

Tôi đặt cái này vào đó.

Tôi thêm vào màn hình chính.

Tuy nhiên, tôi nhận thấy rằng tôi luôn phải đăng nhập lại sau khi đóng ứng dụng web.

Tôi làm cách nào để giữ phiên này?

+0

nhiều googling đã để lại cho tôi mà không có một câu trả lời cho câu hỏi này tương tự. Tôi nghi ngờ bạn có nghĩa là để sử dụng lưu trữ địa phương để đăng nhập lại tự động hoặc một cái gì đó, đó là doable, nhưng có vẻ kỳ lạ. – jhickner

+0

Tôi cũng chưa tìm được giải pháp dễ dàng cho việc này. – dirkoneill

Trả lời

-2

Tôi sử dụng lớp tĩnh và biến tĩnh như từ điển (chuỗi, đối tượng) để giữ dữ liệu khi tôi phải truy cập bên ngoài ứng dụng. Nếu bạn sử dụng FormAuthentication, bạn sẽ thấy

User.Identity.IsAuthenticated = true 

nhưng phiên không tồn tại. bạn có thể sử dụng "User.Identity.Name" làm khóa để lấy dữ liệu trong từ điển.

Điều này hoạt động trong ASP.Net MVC3

+0

Nếu điều này không hữu ích. Bạn có thể vui lòng cung cấp thông tin về cách xử lý điều này trong ASP.Net MVC không? Cảm ơn bạn –

1

Có một câu trả lời dễ, nhưng tôi chưa thể tìm thấy bất kỳ tham chiếu nào trong tài liệu chính thức của Apple.

Bí quyết là để làm điều này:

// Start or resume session 
session_start(); 

// Extend cookie life time by an amount of your liking 
$cookieLifetime = 365 * 24 * 60 * 60; // A year in seconds 
setcookie(session_name(),session_id(),time()+$cookieLifetime); 

Nếu bạn kéo dài tuổi thọ của cookie phiên bạn như thế này, Safari sẽ giữ cho cookie phiên và thậm chí cho phép chia sẻ các phiên giữa các 'màn hình chủ đã cài đặt 'phiên bản ứng dụng web của bạn và lượt truy cập thông thường thông qua Safari.

Đối với một cuộc thảo luận phức tạp hơn, hãy nhìn vào câu trả lời của tôi cho câu hỏi này:

Maintain PHP Session in web app on iPhone