Thursday, April 9, 2009

ASP.NET Ëåêö ¹8

ASP.NET õàìãààëàëò áóþó àþóëã¿é áàéäàë
Ïðîãðàì õàíãàìæèéã õºãæ¿¿ëýõýä õàìãèéí ÷óõàë ç¿éë¿¿äèéã íýã áîë õàìãààëàëò þì. íàéäâàðòàé àþóëã¿é áàéäëûí çàãâàð áîëîí õýëáýð íü ýíýõ¿¿ ïðîãðàì õàíãàìæèéí õºãæèë äýâøèëä íºëººëºõ¿éö õ¿÷èí ç¿éë þì. ASP.NET äàõü àþóëã¿é áàéäàë íü ¿íäñýíäýý 3 ¿íäñýí íýð òîìú¸îã õàìààðóóëàí îéëãîäîã. ¯¿íä:
- Authentication – ªãºãäºë õÿíàõ
- Authorization – Ǻâøººðºë
- Impersonation - Çîõèîã÷
Ýíãèéíýýð ýâ÷ ¿çâýë õýðýãëýã÷èéí òîäîðõîéëîëòûã àëáàí ¸ñíû áîëãîõ áà ýíý íü ýõ ¿¿ñâýðòýé /ͺºö/ õîëáîîòîé õýñýã þì. Ýíý íü ASP.NET – ûí àþóëã¿é áàéäëûí òóõàé áºãººä ýäãýýðèéí çàð÷èì, ò¿¿íèé á¿ðäëèéí òàëààð õýëýëöýæ áàéíà. Øèíýýð õ¿ñýëò èðýõýä çîõèîã÷èéí ýðõ çºâøººðºë àâàõ òàë äýýð àíõààðàë õàíäóóëíà. IIS- ä àíõààðàë õàíäóóäàõ ¿åä ýõëýýä õ¿ñýëòèéã õ¿÷èí òºãºëäºð ýñýõèéã øàëãàíà. Õýðýâ çîõèîã÷èéí õýëáýð íü ñºðºã áóþó ººð ººð áàéâàë àâòîìàòààð ýðõ íü çºâøººðºãäºíº. Õýðýâ ýíý õýëáýð íü web.config.filesetting- ä à÷ààëàãäñàí áîë IIS íü òóñãàéëàí çºâøººðºõ ýðõèéí õÿíàëòûã ASP.NET ð¿¿ çàõèàëãà øèëæ¿¿ëýõýýñ ºìíº ã¿éöýòãýíý. Òýãýýä ASP.NET íü õýðýãæ¿¿ëýëò /Impersonate/ àæèëëàæ áàéãàà ýñýõèéã ¿ë õàðãàëçàí øàëãàíà. Impersonation àæèëëàñàí ¿åä ASP.NET íü äààëãàüðûã ã¿éöýòãýæ òóõàéí ìºí ÷àíàðûã òîäîðõîéëíî. ªºðººð õýðýãëýýíèé ïðîãðàì íü ASP.NET õýðýãëýã÷èéí äàâóó ýðõ áîëîí IIS á¿èéí ìàøèíû òîäîðõîéëîëòûã õàìòàä íü ã¿éöýòãýíý. Òºãñãºëä íü ASP.NET íü ýðõ á¿õèé õýðýãëýã÷ýýð çàõèàëàãäñàí /õ¿ññýí/ íººö ¿¿ñâýð äýýð òóëãóóðëàí àëáàí ¸ñíû ýðõèéí çºâøººðºë àâàõ áà õýðýâ õýðýãëýã÷ çºâøººðºãäñºí áîë IIS øóãàìààð çàõèàëãûã áóöààíà. Äàðààõ õýñã¿¿äýä ýäãýýð 3 íýð òîìú¸îã õýëýëöýí ASP.NET õýðýãëýýíèé ïðîãðàì áèä õýðõýí õýðýãæ¿¿ëýõ áîëîìæ áàéãààãààð ÿðèíà.
Authentication – Õýðýãëýã÷èéí õàíäàëò
Ýíý íü õýðýãëýã÷ õ¿÷èíòýé / ýðõòýé / áàéãàà ýñâýë õýðýãëýã÷èéí òîäîðõîéëîëò äýýð ¿íäýñëýãäýýã¿é ýñýõýýñ ¿ë õàðãàëçàí òîäîðõîéëæ áàéäàã. õýðýãëýã÷ íü ò¿¿íèé ýõ ¿¿âýðýýñ õàíãàõ íººö ð¿¿ íýâòðýõ ýðõ á¿õèé çºâøººðºë àâàõ áîëîëöîîòîé. Õýðýãëýýíèé ïðîãðàìûí ôàéë íü ASP.NET-ä çîðèóëàãäñàí á¿õèé ë òîõèðãîîã àãóóëæ áàéäàã. çàõèàëûã÷èéí ýðõ á¿õèé íèéë¿¿ëýã÷ íü ñèñòåì äýõ õýðýãëýã÷èéí IP – ã áàãòààõàä õýðýãëýãääýã. ASP.NET – ä õýðýãëýã÷èéí ýðõèéã çºâøººðºõ 3 àðãà áàéäàã. ¯¿íä :
1. Forms authentication
2. Windows authentication
3. Passport authentication
Forms authentication – ôîðìóóäûí õàíäàëò
Cookie – íóóä íü òåêñò ôàéë ýñâýë ºãºãäëèéí áààç äýýð áàéðëàäàã áºãººä õýðýãëýã÷èéí íýð áîëîí íóóö ¿ãèéã õàäãàëäàã. Ýíý íü Cookie áîëîí Session – ûã õàìòàä íü äýìæäýã. Íýâòðýõ õóóäñàíä õàíäàõäàà õýðýãëýã÷èéí íóóöëàëòûã õàíãàñàí áàéõ øààðäëàãàòàé.

Õîîñîí õýðýãëýã÷ ? òýìäýãòèéã çºâøººðäºãã¿é. Íýâòðýõ òîâ÷íû áîëîí ôîðìûí ºãºãäºë õÿíàëòûí óòãóóä íü ãîë÷ëîí ºãºãäëèéí áààç äýýð õàäãàëàãäàõ áà õýðýãëýã÷ õýðýãëýã÷èéí íýð áîëîí íóóö ¿ãýýð íýâòýðíý. Äàðààõ êîä íü íýâòðýëò àìæèëòòàé áîëñîí ýñýõèéã õàðóóëíà.
String username = txtUserName.Text;
String password = txtPassword.Text;
Bool isUserValid = false; /code to validate the user name and password/
If (isUserValid)
{
FormsAuthentication.RedirectFromLoginPage(txtUserName.Text, False);
Else /user is not valid/
lblMessage.Text = “Invalid login…”;
}
RedirectFromLoginPage ôóíêö íü õýðýãëýã÷èéí íýâòðýõ ýðõ ¿¿ñãýõ áà øààðäëàãàòàé URL áîëîí default URL – óóäûã õýðýãëýã÷ ð¿¿ èëãýýäýã.

Õýäèé òèéì áîëîâ÷ õàìãààëàëòûí çàðèì íýã øàëòãààíóóä íü õýðýãëýã÷èéí íýâòðýëòèéã òîõèðãîîíû ôàéëààð õàíãàäàã. Ôîðìûí íýâòðýõ õàíäàëò íü õýðýãëýã÷èéí ºãºãäëèéí áààç áîëîí ºãºãäë¿¿äèéã õàäãàëäàã. ValidateUserCredentials ôóíêö íü õýðýãëýã÷èéí íýð áîëîí íóóö ¿ãèéã çºâøººð÷, çºâ îðóóëñàí áîë ºãºãäëèéí áààçòàé õîëáîãäîíî.

Windows authentication – öîíõíóóäûí õàíäàëò
Öîíõíóóäûí õàíäàëò íü õýðýãëýã÷èéí ºãºãäºë õÿíàëòûã àøèãëàäàã. Äàðààõ êîä íü ASP.NET öîíõíû õàíäàëòóóäûã õèéíý.




Íýðã¿é áóþó õîîñîí õýðýãëýã÷äèéã îäîîð /*/ ä¿ðñëýí ¿ç¿¿ëäýã. Öîíõíóóäûí íýâòðýõ õàíäàëò íü äàðààõ òºðë¿¿äòýé.
- Õîîñîí íýâòðýõ õàíäàëò
- ¯íäñýí íýâòðýõ õàíäàëò
- Ëàâëàõ íýâòðýõ õàíäàëò
- Íýãòãýõ íýâòðýõ õàíäàëò
Õîîñîí íýâòðýõ õàíäàëò íü IIS – ûã õ¿ëýýí çºâøººð÷ ASP.NET – ä íýâòýðäýã. Õàðèí ¿íäñýí íýâòðýõ õàíäàëò íü öîíõíóóäûí õýðýãëýã÷èéí íýð áîëîí íóóö ¿ã¿¿äýýð õàíãàõ øààðäëàãàòàé. Ëàâëàõ íýâòðýõ õàíäàëò áîëîí íýãòíýõ õàíäàëò íü õýðýãëýã÷èéí íóóö ¿ãèéã ñ¿ëæýý ð¿¿ èëãýýíý.
Passport authentication – íýâòðýõ øàëãàëò
Íýâòðýõ øàëãàëò íü øàëãàëòûí ¿éë÷èëãýýíä òºâëºðäºã áºãººä ìèêðîñîôòèéí íýâòðýõ ¿éë÷èëãýý íü õýðýãëýýíèé ïðîãðàìûí õýðýãëýã÷äèéã øàëãàõûí òóëä õýðýãëýãääýã. Ǻâõºí òýìäýãò òàíèõ ¿éë÷èëãýýíä ñóóëãàãäñàí ÿìàð ÷ ñàéò õ¿ëýýí àâàõ íýð áîëîí íóóö ¿ãèéã õýðýãëýã÷èä õýðýãëýõèéã çºâøººðäºã.

Authorization – çºâøººðºë
ªìíº íü íýâòýðñýí õýðýãëýã÷èä õÿëáàð àðãààð íýâòðýõ ÿâö þì. çºâøººðºë íü çºâõºí íýâòðýõ ýðõòýé õýðýãëýã÷äýä ë îëãîãäîõîîñ á¿ðòãýë õèéëãýýã¿é õýðýãëýã÷èä õýðýãëýýíèé ïðîãðàì õ¿ëýýí àâàõ áîëîìæèéã îëãîäîã. Òóñãàé çºâøººðëèéí á¿òýö íü

Ǻâøººðëèéã 3 àíãèëäàã. ¿¿íä:
- Ǻâøººðëèéí ôàéë : ýíý íü çºâøººðëèéí ôàéëûí ìîäóëüöèàð õýëáýðæäýã áºãººä õýðýãëýýíèé ïðîãðàì íü windows –èéí êºâøººðëèéã àøèãëàí õýëáýðæèí èäýâõèæäýã áàéíà. õýðýãëýã÷èä ôàéëûã õ¿ëýýí àâàõ õýðýãòýé þó ¿ã¿é þó ãýäãèéã ôàéëûí õ¿ëýýí àâàõ õÿíàëòûí áàãàíà òîäîðõîéëîõûí òóëä çºâøººðëèéí ôàéëààð øàëãàãääàã.
- ACL çºâøººðºë : ýíý çºâøººðºë íü Windows - ûã òàíèóëàõûí òóëä þìóó ASP.NET – èéí ¿éëäýë Windows – èéã òàíèõ áîëîìæã¿é ¿åä õýðýãëýãääýã.
- URL çºâøººðºë : ýíý íü URL çºâøººðëèéí ìîäóëÿöèàð õýëáýðæäýã áºãººä ASP.NET õýðýãëýýíèé ïðîãðàìûí õýðýãëýã÷ õýðýãëýã÷ URL ð¿¿ íýâòðýõ ãàðö áîëäîã áàéíà. Ýíý ìîäóëüöè íü ñîíãîëòòîéãîîð õýðýãëýãääýã òºäèéã¿é õýðýãëýýíèé ïðîãðàìûí õýñã¿¿äýä áàéãàà òóñãàé õýðýãëýã÷èä ð¿¿ íýâòðýõ áîëîìæ îëãîäîãã¿é.

Øàëãàëò íü õýðýãëýýíèé ïðîãðàìûí âåá äýõ ôàéëûã òîäîðõîéëäãîîðîî çºâøººðºëòýé àäèë þì. Äîîðõ æèøýý íü áèä õýðõýí ASP.NET –ä àøèãëàãäàæ áàéãàà õýðýãëýýíèé ïðîãðàìûí ôàéë äàõ çºâøººðëèéã àøèãëàæ áîëîõ òàëààð þì.

ASP.NET õýðýãëýýíèé ïðîãðàìûí õýðýãëýã÷äèéã òà get þìóó post – îîð õÿçãààðëàõ þìóó íýìæ áîëíî. Äàðààõ êîä íü çàðèì õýðýãëýã÷èä çºâõºí get – èéã õèéæ áàéõ çóóð áèä õýðõýí post –èéã õèéæ Jude õýðýãëýã÷ áîëæ áîëîõ âý? ãýäãèéã õàðóóëíà.

1 comment:

  1. uneheer oilgomjtoi hicheel bn chamd amjilt husey bi baingiin suragch chin shuu :D

    ReplyDelete