ชุมชนคนรักภาษาเบสิค - Visual Basic Community

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 5001|ตอบกลับ: 5

[VB.NET|C#] การทำ Login เข้าสู่การใช้งาน และการกำหนดสิทธิ์การใช้งาน

[คัดลอกลิงก์]

6

กระทู้

20

โพสต์

250

เครดิต

ผู้ดูแลบอร์ด

Rank: 7Rank: 7Rank: 7

เครดิต
250

แก้ไขครั้งสุดท้ายโดย puklit เมื่อ 2018-1-17 12:32

อ้างอิงจากที่อาจารย์ทองก้อนได้สร้าง [VB.NET] การทำระบบเข้าสู่การใช้งาน (Users Login) ด้วยการใช้โครงสร้าง หรือ Structure

วันนี้ผมเลยนำมาประยุกต์ในรูปแบบ คือเพิ่มลูกเล่นบางอย่างเข้ามา เช่น
1. ตรวจสอบสถานะระบบ (อ้างอิงจาก tblSystem เปิด Status=Yes / ปิด Status=No ) หลังจาก Login ดังนี้
    - หากเป็น Admin ไม่สนใจว่าระบบเปิดหรือปิดสามารถเข้าโปรแกรมได้เลย
    - หากไม่ใช่ Admin แจ้งข้อความ (ระบบปิดปรับปรุง ในกรณี tblSystem Status=No) ไม่สามารถเข้าโปรแกรมได้


(ข้อนี้ใช้สำหรับในกรณีปิดปรับปรุงระบบและไม่ให้ User อื่น ๆ เข้ามาใช้งานในขณะที่เราแก้ไข หรือทำอะไรกับระบบ)

2. หากใส่รหัสผ่านผิดขณะ Login ผิดติดต่อกัน 3 ครั้ง ระบบจะปิดกั้นและล็อคสถานะของผู้ใช้งานนั้นไว้ ต้องแจ้งกับ Admin เพื่อขอใช้งานใหม่   
ในเงื่อนไขนี้ตรวจสอบทุกผู้ใช้งานไม่เว้นแม้แต่ Admin หาก Admin ใส่รหัสผิดเองก็ต้องไปแก้ไขที่ฐานข้อมูลโดยตรง


3. กำหนดสิทธิ์การใช้งานของผู้ใช้งานในแต่ละคน ในระดับฟอร์มสามารถทำอะไรได้บ้าง (อ่าน / เขียน / ลบ)
จากตัวอย่างนี้ ผู้ใช้งาน คือ USER ที่ผมกำหนดสิทธิ์การใช้งานไว้ตามรูปฐานข้อมูลข้างล่าง




วิธีนี้น่าจะเป็นประโยชน์กับผู้ที่เขียนโปรแกรมในลักษณะ client server ในการบริหารจัดการระบบ และการกำหนดสิทธิ์ของผู้ใช้งานของแต่ละคน

โครงสร้าง Class ของตัวโปรแกรมมีทั้งหมดดังนี้
1. ClsConn_DB.vb ใช้สำหรับติดต่อฐานข้อมูล
2. ClsSystem.vb ใช้สำหรับตรวจสอบสถานะของระบบ
3. ClsUser.vb ใช้สำหรับจัดการผู้ใช้งาน เช่น ตรวจสอบผู้ใช้งาน / Login / ระงับผู้ใช้งาน / ตรวจสอบสิทธิ์ผู้ใช้งาน
    สำหรับสิทธิ์ผมได้กำหนดไว้ที properties อยู่ในรูปแบบ Boolean (True = มีสิทธิ์ / False = ไม่มีสิทธิ์) ดังนี้
    3.1 U_Read     สิทธิ์สำหรับอ่าน
    3.2 U_Update  สิทธ์สำหรับแก้ไข
    3.3 U_Delete   สิทธ์สำหรับลบ
    ท่านสามารถอ้างอิงค่าจาก properties ไปกำหนดค่า control ต่าง ๆ ในฟอร์ม เช่น Enable / Visible เป็นต้น ตามสิทธิ์ของผู้ใช้งาน
4. ClsForm.vb ใช้สำหรับเปิดฟอร์มตามที่ผู้ใช้งานเรียกแสดง โดยแสดงตามสอบสิทธิ์ผู้ใช้งาน อ้างอิงจาก class ClsUser.vb

ดาวน์โหลดโค้ดต้นฉบับแบบเต็ม VB.NET (2015) ได้ที่นี่


ดาวน์โหลดโค้ดต้นฉบับแบบเต็ม C# (2015) ได้ที่นี่




ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน

x

223

กระทู้

315

โพสต์

2593

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

เครดิต
2593
โพสต์ 2018-1-8 12:15:36 | ดูโพสต์ทั้งหมด

ยอดเยี่ยมและขอขอบคุณครับผม
สิ่งที่ดีกว่าการให้ คือการให้แบบไม่มีที่สิ้นสุด

6

กระทู้

20

โพสต์

250

เครดิต

ผู้ดูแลบอร์ด

Rank: 7Rank: 7Rank: 7

เครดิต
250
 เจ้าของ| โพสต์ 2018-1-8 18:58:30 | ดูโพสต์ทั้งหมด

thongkorn ตอบกลับเมื่อ 2018-1-8 12:15
ยอดเยี่ยมและขอขอบคุณครับผม

ผมมีความรู้สึกเหมือนอาจารย์ครับ เก็บไว้คนเดียวก็รู้สึกว่ามันอึดอัด สู้เราเอามาแบ่งปันให้คนอื่น ๆ หรือบางทีเราลืมก็สามารถกลับมาดูที่เราเขียนไว้ สิ่งที่ผมได้ความรู้จากในบอร์ดนี้ถือว่าเยอะมากและอาจารย์ค่อนข้างอธิบายได้อย่างละเอียด ในแต่ละขั้นตอน โดยพื้นฐานของผมเองไม่ใช่นักเขียนโปรแกรมมืออาชีพ และไม่ได้ทำงานเกี่ยวข้องกับการเขียนโปรแกรมเลย พอมีพื้นฐานจาก VBA Excel มาบ้าง พอมาพบกับบอร์ดของอาจารย์ผมก็เลยเริ่มศึกษาการเขียนโปรแกรมด้วย VB.Net (ได้ประมาณ 8 เดือน) ยังไม่ทันเข้าใจเลย ตอนนี้ย้ายมาเขียน C# (ได้ประมาณ 3 เดือน) แต่ยังไม่ได้ทิ้ง VB.Net ยังเขียนควบคู่กันไป เพียงแต่มาเป็น C# เป็นหลัก จึงทำให้ผมเห็นข้อแตกต่างกันกันพอสมควรระหว่าง 2 ภาษานี้ค่อนข้างมาก โค้ดที่ผมเขียนในกระทู้นี้จะออกแนว C# สักหน่อย คือใช้ Class & Library กลางของ .Net เป็นหลัก และพยายามหลีกเลี่ยง Function เฉพาะของ VB.Net เพื่อไม่ให้ผมสับสนเวลาย้ายภาษาไปมา สุดท้ายนี้ผมอยากจะขอบพระคุณอาจารย์ทองก้อนเป็นอย่างสูงที่แบ่งปันความรู้ในรูปแบบที่ผมยังไม่เคยเห็นที่ไหนแจกแจงและอธิบายอย่างละเอียดแบบนี้มาก่อน

6

กระทู้

20

โพสต์

250

เครดิต

ผู้ดูแลบอร์ด

Rank: 7Rank: 7Rank: 7

เครดิต
250
 เจ้าของ| โพสต์ 2018-1-17 12:34:52 | ดูโพสต์ทั้งหมด

แก้ไขครั้งสุดท้ายโดย puklit เมื่อ 2018-1-17 13:39

ผมได้เพิ่มไฟล์ทำ Login และการกำหนดสิทธิ์การใช้งานด้วยภาษา C# เข้าไปอีกไฟล์หากท่านไดสนใจก็ลองโหลดไปทดสอบดูครับ

0

กระทู้

45

โพสต์

211

เครดิต

Full Member

Rank: 3Rank: 3

เครดิต
211
โพสต์ 2018-3-9 10:53:32 | ดูโพสต์ทั้งหมด

ขอขอบพระคุณอย่างสูงครับ คุณ puklit และ g2gnet.com ด้วยครับผม

0

กระทู้

2

โพสต์

36

เครดิต

Newbie

Rank: 1

เครดิต
36
โพสต์ 2019-3-29 10:18:58 | ดูโพสต์ทั้งหมด

สุดยอดครับ ขอบคุณความรู้ดีๆ ที่แบ่งปันครับ

1

กระทู้

4

โพสต์

65

เครดิต

Member

Rank: 2

เครดิต
65
โพสต์ 2019-9-1 21:31:47 | ดูโพสต์ทั้งหมด

แก้ไขครั้งสุดท้ายโดย suthera เมื่อ 2019-9-6 21:00

อาจารย์ไม่มีให้ VB6 load มาเป็นตัวอย่างบ้างครับหาจนเจอครับ http://www.g2gnet.com/WebBoard/f ... ewthread&tid=57 ขอบคุณครับขอเข้าไปศีกษาก่อน

0

กระทู้

2

โพสต์

6

เครดิต

Newbie

Rank: 1

เครดิต
6
โพสต์ 2019-10-26 21:03:57 | ดูโพสต์ทั้งหมด

ขอบคุณครับ

0

กระทู้

7

โพสต์

24

เครดิต

Newbie

Rank: 1

เครดิต
24
โพสต์ 2019-12-9 09:30:11 | ดูโพสต์ทั้งหมด

ขอบคุณความรู้ดีๆ ที่แบ่งปันครับ กำลังศึกษาครับ
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|G2GNet.com  

GMT+7, 2020-4-5 07:41 , Processed in 0.386519 second(s), 3 queries , File On.

Powered by Discuz! X3.3 R20170401, Rev.54

© 2001-2017 Comsenz Inc.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้