ionic: จำการ login ของผู้ใช้

เปิดมาครั้งแรกจะขึ้นว่า User is not logged in!
ถ้ากดปุ่ม login จะขึ้น User is logged in! และจะสามารถกดปุ่ม Next Page เพื่อไปหน้าถัดไปได้
พอกด logout ก็จะกลับมาขึ้นว่า User is not logged in!

จำการ login ของผู้ใช้ โดยกาาเก็บ token ผู้ใช้ลง localStorage
แล้วใช้ Auth Guard ตรวจสอบข้อมูลดังกล่าว

โดย concept แล้ว Auth Guard เราใช้

  • ionViewCanEnter()
  • ionViewCanLeave()

ดู IONIC PAGE LIFECYCLE EVENTS ทั้งหมด

Note: ห้ามเก็บ password ลง localStorage เพราะไม่ปลอดภัย
แต่ให้เก็บเป็น token อะไรซักอย่างไว้ตรวจสอบพอ
ในตัวอย่างนี้เก็บ username ซึ่งก็ไม่ปลอดภัย เพราะเดาค่าได้ง่าย

Note:

  • รันบนมือถือ Android ถ้ายังไม่ login พอกด Next Page ไม่ขึ้น Error แจ้งเตือน
  • รันด้วยคำสั่ง ionic serve -l ได้ผลเหมือนรันบนมือถือ
  • รันบน browser เข้าหน้า Next Page ไม่ได้โดยขึ้น Error แจ้งเตือน

สร้างโปรเจ็กส์ เพิ่ม page และเพิ่ม provider

[code]
ionic start authGuardApp blank
cd authGuardApp
ionic g page Second
ionic g provider AuthService
[/code]

src/app/app.module.ts

src/providers/auth-service/auth-service.ts:

src/pages/home/home.html

src/pages/home/home.ts

บรรทัดที่ 2: เพิ่ม AlertController

src/pages/second/second.ts

บรรทัดที่ 2: ลบ NavParams

Link