2013-02-05 40 views
6

Tôi có một ứng dụng sử dụng dịch vụ web wcf và sau khi đăng nhập thành công, tôi muốn kích hoạt một phiên trong 10 phút. Nếu người dùng rảnh hoặc ứng dụng ở chế độ nền trong 10 phút thì phiên sẽ hết hạn và ứng dụng sẽ yêu cầu lại chi tiết đăng nhập.Cách tạo và quản lý phiên trong ứng dụng iphone?

Tôi đã sử dụng keychain để lưu trữ tên người dùng và mật khẩu và nó hoạt động Nhưng tôi muốn thêm phiên để người dùng được chuyển hướng đến trang chính nếu phiên không hết hạn và trang đăng nhập nếu hết hạn ...

Tôi biết đây là câu hỏi lặp đi lặp lại nhưng tôi phải viết nó vì tôi không nhận được câu trả lời thích hợp từ các câu hỏi khác. Xin vui lòng giúp đỡ ..

+0

xem đây: http://stackoverflow.com/questions/2070754/iphone-session-management/16934038#16934038 –

Trả lời

10

sử dụng điều này Link điều này làm việc cho tôi.

sử dụng NSUserDefault để tạo Phiên cho ios.

tôi cũng đã tạo Phiên trong ios bằng Hướng dẫn này.

EDIT:

tôi có một màn hình đăng nhập trong trang đầu tiên của ứng dụng My

nếu đăng nhập được thành công xác thực bởi máy chủ sau đó tôi lưu trữ của tôi Tên đăng nhập & mật khẩu trong NSUserDefault Giống như theo cách này:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:userNameText forKey:@"username"];    
    [defaults setObject:passWordText forKey:@"password"]; 
    [defaults synchronize]; 

Onclick của nút đăng nhập. & được chuyển hướng đến Trang tổng quan.

Trong bảng điều khiển, nút Đăng xuất ở đó nếu người dùng nhấp vào Đăng xuất Xóa tất cả dữ liệu Giống như cách này.

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults removeObjectForKey:@"username"]; 
    [defaults removeObjectForKey:@"password"]; 
    [defaults synchronize]; 

& Mở điều kiện khác khi sử dụng ứng dụng gần Các NSUSerDefault đang được lưu trữ khi u lần thứ hai ứng dụng mở tại thời điểm đó Kiểm tra Thời tiết Tên truy nhập & mật khẩu lưu trữ trong NSUserDefault Trong ViewDidAppear của Loginpage.

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

    // check if user is alraidy Login 
    if([defaults objectForKey:@"username"]!=nil && ![[defaults objectForKey:@"username"] isEqualToString:@""]){ 
     // Redirected to Dashboard. 
} 

Nếu thành công sau đó được chuyển hướng đến Trang tổng quan.

+0

Bạn có thể chỉ định cách bạn tạo phiên sử dụng NSUserDefault không? – Shaunak

+2

Vâng, đây là chỉ cho autologin và doesnot bắt đầu hoặc hết hạn phiên nếu người dùng ở chế độ chờ trong thời gian rất dài .. – Shaunak

+0

bạn nên thử tự sử dụng NStimer gợi ý của nó –

0

Bạn có thể sử dụng AFNetworking framework, nó lưu trữ tự động phiên của bạn, tôi đã thử nghiệm API của tôi và nó làm việc

+1

Làm thế nào AFNetworking đi vào hình ảnh? Nó được sử dụng để kiểm tra các kết nối mạng. –

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