ออกจากระบบเซสชัน asp.net

ฉันได้สร้างแอปพลิเคชัน asp.net แล้ว แอปพลิเคชันนี้มีตัวแปรเซสชันซึ่งแสดงว่าผู้ใช้เข้าสู่ระบบหรือออกจากระบบ หากมีวิธีใดที่จะบันทึกการหมดอายุของเซสชันโดยไม่ต้องไปที่หน้าเดียวและเมื่อออกจากระบบแล้ว ผู้ใช้สามารถเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบ (เข้าสู่ระบบใหม่) ได้

คลาส asp.net ของฉันสามารถสืบทอดคลาสพื้นฐานบางคลาสซึ่งสามารถมีวิธีนามธรรมเพื่อตรวจสอบว่ามีเซสชันอยู่หรือไม่

โปรดแนะนำสถาปัตยกรรมบางอย่างให้ฉันทำสิ่งนี้

ขอบคุณล่วงหน้า.


person NewToNet    schedule 05.06.2012    source แหล่งที่มา


คำตอบ (2)


คุณสามารถใช้เหตุการณ์สิ้นสุดเซสชันของ global.asax:

void  Session_End(Object sender, EventArgs E) {
// your code....
}

เมื่อเซสชั่นหมดอายุเหตุการณ์นี้เรียกว่า

person Jagz W    schedule 05.06.2012

แอปพลิเคชันนี้มีตัวแปรเซสชันซึ่งแสดงว่าผู้ใช้เข้าสู่ระบบหรือออกจากระบบ

ซึ่งสามารถทำได้โดยการตรวจสอบคุณสมบัติ HttpContext.Current.Request.IsAuthenticated

หากมีวิธีใดที่จะบันทึกการหมดอายุของเซสชันโดยไม่ต้องไปที่หน้าเดียวและเมื่อ > ผู้ใช้ออกจากระบบแล้ว สามารถเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบ (เข้าสู่ระบบใหม่) ได้

กำหนดค่าองค์ประกอบต่อไปนี้ในแอปพลิเคชันของคุณ web.config เพื่อจำกัด\อนุญาตการเข้าถึงทรัพยากร\เพจ\ไดเร็กทอรีบนไซต์ของคุณ:

<authorization> 
   <allow .../>
   <deny .../>
</authorization>

http://msdn.microsoft.com/en-us/library/8d82143t

และกำหนดค่า FormsAuthentication แอตทริบิวต์ defaulturl และ loginurl เพื่อเปลี่ยนเส้นทางผู้ใช้ออกจากทรัพยากรที่ถูกจำกัด

person xandercoded    schedule 05.06.2012