នៅក្នុងផ្នែកគ្រប់គ្រង អ្នកនិពន្ធទាំងឡាយអាចចេញក្រៅវិញបាន ដោយចុចពាក្យថា «ចេញក្រៅ» ។ នៅក្នុងកម្មវិធី Astro យន្តការចេញក្រៅនេះ គឺជាការលុបកូដអាថ៌កំបាំងនៅក្នុង browser របស់អ្នកនិពន្ធ។ ការលុបកូដនេះត្រូវធ្វើឡើងនៅក្នុងក្បួនចុងផ្លូវឬ API Endpoint ណាមួយ។ យើងអាចបង្កើតផ្លូវ /api/logout សំរាប់ក្បួនចុងផ្លូវឬ API Endpoint ដែលមានឈ្មោះថា logout.js នៅក្នុងថត src/pages/api ។ ក្រោយពីការលុបកូដអាថ៌កំបាំងហើយ យើងអាចបញ្ជូនអ្នកនិពន្ធទៅទំព័រណាមួយក៏បានដែរ មានដូចជាទំព័រចូលក្នុងជាដើម។
// src/pages/api/logout.js
export async function GET({ cookies, redirect }){
cookies.delete("access_token", { path: '/' })
return redirect('/login', 302)
}
<!--src/layouts/admin/Header.astro-->
---
const { pageTitle="ក្បាលទំព័រ" } = Astro.props
const { userAuth } = Astro.locals
---
<section class="bg-teal-600 text-white md:px-0 px-2">
<div class="max-w-5xl mx-auto py-1 flex flex-col md:flex-row items-center">
<div class="flex flex-col md:flex-row items-center gap-2 md:w-1/4 w-full">
<a class="hover:opacity-75" href="/admin">
<img class="w-12" src="/images/siteLogo.png" />
</a>
<span class="font-title text-2xl md:pt-2 pt-0 md:py-0 py-2">
{pageTitle}
</span>
</div>
<form class="flex flex-row md:w-1/2 w-full text-gray-800" action="/api/admin/search" method="post">
<select name="type" class="pl-2">
<option>ការផ្សាយ</option>
<option>ទំព័រស្តាទិក</option>
<option>ជំពូក</option>
<option>អ្នកនិពន្ធ</option>
</select>
<input class="grow px-2" name="q" type="text" required placeholder="Search..." />
<input class="bg-gray-200 hover:opacity-75 px-2 py-1"
type="submit" value="ស្វែងរក" />
</form>
<div class="md:w-1/4 w-full md:text-right text-center md:py-0 py-2">
<span class="">{userAuth?.userName}</span> |
<a class="hover:opacity-75" href="/">ទំព័រមុខ</a> |
<a class="hover:opacity-75" href="/api/logout">ចេញក្រៅ</a>
</div>
</div>
</section>