Sunday, February 21, 2021

ஏஎஸ்பி டாட்நெட்டில் விண்டோஸ் ஆதண்டிகேசன்

 


இந்த கட்டுரையில் கீழ் வரும் கருத்துக்களை பற்றி காண இருக்கின்றோம்.

1.      ஆதண்டிகேசன் மற்றும் ஆதரைசேசன் என்பது என்ன?

2.      விண்டோஸ் ஆதண்டிகேசனை புரிந்து கொள்ளுதல்.

3.      விண்டோஸ் ஆதண்டிகேசன் வகைகள்.

4.      நிரலாக்க ஆதண்டிகேசன்

5.      இம்பெர்சனேசன்.

ஆதண்டிகேசன் மற்றும் ஆதரைசேசன் என்பது என்ன?

ஆதண்டிகேசன் என்பது ‘யார் நீ?’ என்ற கேள்விக்கு பதில் சொல்லுதல் ஆகும். இது ஒரு இன்டெர்நெட் அல்லது இன்ட்ராநெட்டில் பயனர் பெயர், கடவுச் சொல் ஆகியவற்றை பற்றி கேட்டு பெறுதல் மூலம் நடக்கின்றது.

இதன் மூலம் பயனர் ஆகியவர் யார் என்று அறியப்படுகின்றார்.

ஆனால் அது மட்டும் பற்றாது. அவர் என்னென்ன ரிசோர்ஸ்களை ஆக்சஸ் செய்யலாம் என்பதையும் அறிய வேண்டும்.அது தான் ஆதரைசேசன் என்பதாகும்.

ஆதரைசேசன் ‘உங்களால் என்ன செய்ய இயலும்’ என்பதற்கு பதில் சொல்லுதல் ஆகும்.இது வெற்றிகரமான ஆதண்டிகேசனுக்கு பிறகு நடக்கின்றது.இது பயனாரால் கோரிக்கையிடப்பட்ட ரிசோர்சை அணுகமுடியுமா என்பது ஆகும்.இது பயனரால் அப்ளிகேசனின் எல்லா பகுதிகளையும் அனுகலாமா அல்லது குறிப்பிட்ட பகுதிகளை மட்டும் அணுகலாமா என்று உறுதிப்படுத்தி கொள்ளுதல் ஆகும்.இதற்கு யார் நீ என்று அறிதல் முக்கியம் ஆகும்.

விண்டோஸ் ஆதண்டிகேசன் என்பது என்ன?

விண்டோஸ் அப்ளிகேசனுக்கு ஃபார்ம் ஆதண்டிகேசன் என்பது போதுமானதாகும்.ஆனால் ஒரு வெப் பயன்பாட்டிற்கு விண்டோஸ் ஆதண்டிகேசன் என்பதே சரியான தேர்வு என்பதாகும்.

விண்டோஸ் அடிப்படையிலான ஆதண்டிகேசன் ஆனது விண்டோஸ் சர்வருக்கும் கிளையண்ட் மெசினிற்கும் இடையே நடப்பது ஆகும்.

ஏஎஸ்பி டாட்நெட் அப்ளிகேசன் ஆனது IIS சர்வரில் வசிக்கின்றது.எல்லா பயனர் கோரிக்கைகளும் IIS சர்வருக்கு வருகின்றது. IIS சர்வரானது விண்டோஸ் அடிப்படையிலான ஆதண்டிகேசனை வழங்குகின்றது.

இந்த மாதிரியான ஆதண்டிகேசன் என்பது இன்ட் ரா நெட் ஒர்க்கில் மிகவும் பயனளிப்பது ஆகும்.

இதன் மூலம் ஏற்கனவே ஒரு நிலையில் ஆதண்டிகேசன் மற்றும் ஆதரைசேசனை பயன்படுத்திக் கொள்கின்றீர்கள். முதலில் IIS ஆனது ஆதண்டிகேசனை நிகழ்த்துகின்றது.முதலில் பயனர் பெயர், கடவுச்சொல் ஆகியவற்றை கேட்டு பெறுகின்றது. இந்த செயற்பாடு தோல்வியடைந்தால் IIS ஆனது பிழைச் செய்தியை காட்டி மீண்டும் பயனர் பெயர், கடவுச் சொல் ஆகியவற்றைக்  கேட்கின்றது.

விண்டோஸ் அப்ளிகேசனின் நண்மைகள்.

1.      பயனர்களை ஏற்கனவே உள்ள விண்டோஸ் அக்கவுண்ட்களை பயன்படுத்த அனுமதிக்கின்றது.

2.      வெவ்வேறு வகையான அப்ளிகேசனுக்கு ஒரே அதண்டிகேசன் மாடல்களை பயன்படுத்த முடிகின்றது.

3.      டெவலப்பர்களுக்கு எளிதாக அமைகின்றது.

விண்டோஸ் அப்ளிகேசனின் தீமைகள்.

1.      மைக்ரோசோஃப்ட் பிளாட்ஃபார்மில் மட்டுமே பயன்படுகின்றது.

2.      இந்த ஆதண்டிகேசன் பிராசசில் எந்த விதமான custom கண்ட்ரோகளும் கிடையாது.

ஏஎஸ்பி டாட்நெட்டில் விண்டோஸ் ஆதண்டிகேசனை இனைப்பதற்கு முன் முதலில் பயனர் மற்றும் குரூப்களையும் உருவாக்கும்மோம்.

பின் வரும் படிகளை செய்யவும்.

"Control Panel" -> "User Accounts" -> "Manage another account" -> "Create a new account"

பிறகு

"Add or Remove User"  பிறகு “test” என்றொரு பயனரை உருவாக்குவோம். இங்கு ‘test’ என்பது யூசர் டெஃபைண்டு நேம் ஆகும்.

 



 

விண்டோஸ் ஆதண்டிகேசன் வகைகள்.

IIS ஆனது பின் வரும் வகையான ஆதண்டிகேசன் வகைகளை சப்போர்ட் செய்கின்றது.

  • Basic Authentication
  • Digest Authentication
  • Integrated Windows Authentication
  • UNC Authentication
  • Anonymous Authentication

இப்போழுது IIS சர்வரானது உங்கள் கணினியில் பயன்பாட்டில் உள்ளதா என சோதனை செய்வோம்.

உங்கள் பிரவுசரில் பின் வரும் முகவரியை டைப் செய்யவும்.

http://localhost

அல்லது

http://127.0.0.1

இப்பொது IIS இயக்கதில் இருந்தால் பின் வரும் திரை காட்டப்படும்.

மேலே உள்ள திரை வராவிடில் IIS ஆனது பின் வரும் முறையில் கான்பிகர் செய்ய வேண்டும். அதற்கு WINDOWS FEATURES சென்றுINTERNET INFORMATION SERVICES என்பதை எனேபிள் செய்ய வேண்டும்.


இதற்கு சற்று நேரம் எடுத்துக் கொள்ளும்.  அதற்கு பின் Administrative tools சென்று IISManager என்பதை இயக்கலாம். அல்லது inetmgr என்று விண்டோஸ் ரன்னில் கொடுத்து இயக்கலாம். பின் வரும் திரை வரும்.


ஒரு வேண்டுகோள் என்ன எனில் தொடர்வதற்கு முன் IIS சர்வரை ஏஎஸ்பி டாட்நெட் உடன் ரெஜிஸ்டர் செய்ய பின் வரும் கமாண்டை இயக்கவும்.

"aspnet_regiis.exe -i".

Basic Authentication.

இதை எல்லா பிரவுசர்களும் ஆதரிக்கின்றது.ஒரு வெப் சைட் ஆனது கிளையண்ட் அப்ளிகேசனை இந்த முறையில் செய்யும் பொழுது  ஒரு டயலாக் பாக்சை காட்டுகின்றது .அதில் பயனர் பெயர், கடவுச் சொல் (பாஸ்வேர்ட்) பெயர் ஆகியவற்றை நிரப்ப வேண்டும்.


 

இப்பொழுது டேட்டா ஆனது வெப் சர்வருக்கு அனுப்பப்படுகின்றது. IIS சர்வரானது அதனுடன் தொடர்புடைய விண்டோஸ் அக்கவுண்டுடன் ஆதண்டிகேட் செய்ய முயலுகின்றது.கடவுச்சொல் ஆனது BASE64 உடன் என்கோட் செய்யப்பட்டு அனுப்பப்படுகின்றது.BASE64 என்கோட் என்பது என்கிரிப்சன் கிடையாது.எனவே இதன் குறையானது பயனர் பெயர், கடவுச் சொல் இரண்டும் பிளைன் டெக்ஸ்ட் ஆக அனுப்படுகின்றது.இப்பொழுது பேசிக் ஆதண்டிகேசன் பற்றி அறிந்து கொள்ள ஒரு ஏஎஸ்பி டாட்நெட் பிராஜெக்ட் உருவாக்குவோம்.

விசுவல் ஸ்டுடியோ சென்று “File" -> "New" -> "Website..” கொடுத்து அதற்கு “WinAuthTest” என்று பெயரிடுவோம்.


 iis7 ஆனது முன்பு கூறியது போன்று ஏஎஸ்பிடாட்நெட் உடன் ரிஜிஸ்டர் செய்யப்பட்டிருக்கின்றதா என்று உறுதி படுத்திக் கொள்ளவும்.

ரன் விண்டோவில் இருந்து inetmgr என்று கொடுத்து IIS MANAGER என்பதை இயக்குகின்றோம்.

இப்பொழுது ஐஐஎஸ் மேனேஜெரில் விர்ச்சுவல் டைரக்டரியில் “WinAuthTest” என்பது சேர்க்கப்பட்டிருப்பதை நோக்கவும்.


இப்பொழுது டயலாக் பாக்சில் “Authentication under iis” என்பதை கிளிக் செய்யவும்.பின் வரும் ஆப்சன்கள் காட்டப்படும்.


இதில் சில ஆப்சன்கள் காட்டப்படாமல் இருக்கலாம். அதை விண்டோஸ் ஃபியூசர்ஸ் சென்று எனேபிள் செய்யவும்.


 

மேலே உள்ள படத்தில் உள்ளவாறு பேசிக் ஆதண்டிகேசன் என்பதை எனேபிள் செய்யவும்.

விசுவல் ஸ்டுடியோவில் f5 கீயை அழுத்தி கம்பைல் செய்யவும்.பாப் அப் விண்டோவில் பயனர் பெயர், கடவுச் சொல் ஆகியவற்றை உள்ளீடு செய்யவும்.

நீங்கள் சரியான டேட்டாவை கொடுக்காவிடில் உங்களால் வெப் சைட்டிற்குள் செல்ல இயலாது.

Digest Authentication.

இதுவும் பேசிக் ஆதண்டிகேசன் போன்று பயனர் பெயர், பாஸ்வேர்டு கேட்கும். ஆனால் சர்வருக்கு அனுப்புவதற்கு முன் பிளைன் டெக்ஸ்ட் ஆக இல்லாமல் என்கிரிப்ட் செய்யப்பட்டு அனுப்பப்படும்.

இந்த வகையான ஆதண்டிகேசனை iis-ல் எனேபிள் செய்து பயன்படுத்தலாம்.


 

டைஜெஸ்ட் ஆதண்டிகேசன் ஆனது பாஸ்வேர்டை ஹேசிங்க் செய்யும் பொழுது mdm5 அல்கரிதமை பயன்படுத்துகின்றது.லோக்கல் அக்கவுண்டிற்க்கு mdm5-ல் hash செய்யப்பட்ட பாஸ்வேர்டை சேமிக்க இயலாது.எனவே விர்ச்சுவல் டைரக்டரியானது விண்டோஸ் ஆக்டிவ் டைரக்டரி டொமைன் கண்ட்ரோலரால் கன்ட்ரோல் செய்யப்பட வேண்டும்.

இதில் டேட்டாவானது பாதுகாப்பாக இருக்கின்றது.

டைஜெஸ்ட் ஆதண்டிகேசனை நிரல் எழுதியும் எனேபிள்  மற்றும் டிஸேபிள் செய்யலாம்.

Appcmd கமாண்ட் பயன்படுத்திபின் வருமாரு எழுதி டைஜெஸ்ட் ஆதண்டிகேசனை எனேபிள் செய்யலாம்.

appcmd.exe set config /section:digestAuthentication /enable:true

Integrated Windows Authentication

இது lan/wan நெட் வொர்க்கில் மிகவும் பயன்படுகின்றது.இது சரியாக வேலை செய்வதற்கு கிளையண்ட் மெசினும் சர்வரும் ஒரே நெட் வொர்க்கில் இருக்க வேண்டும்.

இது எந்த வகையான கிரெண்டிசியல் தகவல்களை கேட்காது. அதற்கு பதிலாக டொமைன் சர்வருடன் கோ ஆர்டினேட் செய்து லாக் இன் தகவல்களை கணினியில் இருந்து பெறுகின்றது.

இது கிளையண்ட்டுடன் கலந்துரையிடாமல் ஆதண்டிகேசன் செய்கின்றது.iis ஆனது கிளையண்ட்மெசினை ஆதண்டிகேட் செய்ய கேட்கும் பொழுது பிரவுசர் ஆனது நடப்பு பயனாளரின் அக்கவுன்டை ரெப்ரெசெண்ட் செய்யும் டோக்கனை அனுப்புகின்றது.

தொழில் நுட்ப ரீதியாக இது இரண்டு வகையான ஆதண்டிகேசன்களை செய்கின்றது.

அவை

1.      NTLM

2.      Kerberos

IIS மேனேஜெரில் இன்டெக்ரேட்டு ஆதண்டிகேசனை எனேபிள் செய்யும் பொழுது இந்த 2 ஆதண்டிகேசனும் எனேபிள் ஆகின்றது.


UNC Authentication

UNC (யுனிவர்சல் நேமிங்க் கன்வெண்சன்) ஆதண்டிகேசன் ஆனது ரிமோட் ஷேரில் உள்ள ரிசோர்ஸை ஆக்சஸ் செய்யும் பொழுது குறிப்பிட்ட யூசர் அக்கவுண்டை IIS யை கான்பிக்கர் செய்ய அனுமதிக்கின்றது.ஒரு வெப் அப்ளிகேசனுக்கு விர்ச்சுவல் டைரக்டரி IIS மேனேஜெரில் உருவாக்கும் பொழுது இந்த வகையான ஆதண்டிகேசன் ஆனது நடைமுறைப்படுத்தப் படுகின்றது.

படிகள்.

1.      IIS மேனேஜரை திறக்கவும்.

2.      வெப்சைட்டை லொகேட் செய்து வலது கிளிக் செய்து “Add virtual directry” என்பதை கிளிக் செய்யவும்.


 

3.ஆக்சஸ் செய்யப்பட வேண்டிய டைரக்டரியின் alias பெயர் மற்றும் unc physical path இரண்டையும் குறிப்பிட வேண்டும்.


இப்பொழுது Connect as பட்டனை கிளிக் செய்து அப்ளிகேசன் யூசர் என்ற ரேடியோ பட்டனை கிளிக் செய்யவும்.கடைசியாக ok பட்டனை கிளிக் செய்யவும்.

 


 

Anonymous Authentication

இது எந்த வகையான யூசர் விளக்கங்களையும் கேட்காது. டிஃபால்ட் ஆக கான்பிக்கர்டு அனானிமஸ் ஆக்சஸ் என்பது IUSR அக்கவுண்டில் IIS  இன்ஸ்டால் செய்யும் பொழுது உருவாக்கப்படுகின்றது.


 

குறிப்பு:

நீங்கள் ஒன்றுக்கு மேற்பட்ட ஆதண்டிகசேசன்களை எனேபிள் செய்யும் பொழுது எது உறுதியான ஆதண்டிகேசனோ அது நடைமுறைப்படுத்தப்படுகின்றது. ஆனால் அதில் ஒன்று அனானிமஸ் ஆதண்டிகேசனாக இருந்தால் அதுவே நடைமுறைப்படுத்தப்படுகின்றது.

 

Programmatic Authentication

நடை முறையில் உள்ள ஆதண்டிகேசன் பற்றிய  கூடுதல் தகவல்களை WindowsIdentity கிளாசை பயன்படுத்தி அறியலாம்.

அதற்கான நிரல்.

using System;  

using System.Configuration;  

using System.Web;  

using System.Web.Security;  

using System.Security.Principal;  

public partial class _Default : System.Web.UI.Page  

{  

    protected void Button1_Click(object sender, EventArgs e)  

    {  

        if (Request.IsAuthenticated)  

        {  

            // Display generic identity information.  

            lblData.Text = "<b>Name: </b>" + User.Identity.Name;  

            if (User is WindowsPrincipal)  

            {  

                WindowsPrincipal principal = (WindowsPrincipal)User;  

                lblData.Text += "<br><b>Power user? </b>";  

                lblData.Text += principal.IsInRole(  

                WindowsBuiltInRole.PowerUser).ToString();  

                WindowsIdentity identity = principal.Identity as WindowsIdentity;  

                lblData.Text += "<br><b>Token: </b>";  

                lblData.Text += identity.Token.ToString();  

                lblData.Text += "<br><b>Guest? </b>";  

                lblData.Text += identity.IsGuest.ToString();  

                lblData.Text += "<br><b>System? </b>";  

                lblData.Text += identity.IsSystem.ToString();  

            }  

        }  

    }  

}

வெளியீடு:


Impersonation

 

இம்பெர்சனேசன் என்பது நடப்பு பயனரின் ஆதரைசேசன் செய்யபட்ட எல்லா ரிசோர்ஸ்களையும் ஆக்சஸ் செய்ய அனுமதித்தல் ஆகும்.

எல்லா பயனர், இணையப்பக்கங்கள்,பயன்பாடுகளுக்கு ஒரே நிலையான அக்கவுண்டை பயன்படுத்தாமல் குறிப்பிட்ட செயற்பாட்டிற்கு தாற்காலிகமாக identity என்பதை மாற்றாம்.

நீங்கள் உங்கள் லோக்கல் மெசினில் உள்ள குறிப்பிட்ட டைரக்டரியில் உள்ள தகவல்களை ஆக்சஸ் செய்ய விரும்பும் பொழுது நீங்கள் உங்கள் லாக் இன் தகவல்களை உள்ளீடு செய்த வேண்டும்.

C:\\temp என்ற ஃபோல்டரில் உள்ள தகவல்களை அணுக விரும்பினால் ACL எடிட்டர் ஆனது அட்மினிஸ்ட்ரேட்டிவ் பயனரை தவிர மற்றவர்களை நீக்குகின்றது.


இப்பொழுது ஒரு ஏஎஸ்பி டாட்நெட் அப்ளிகேசன் உருவாக்கி அதில் ஒரு பட்டன் மற்றும் ஆக்சஸ் செய்ய இயலும் டெம்ப் ஃபோல்டரில் உள்ள ஃபைல்களை கொண்ட ஒரு லிஸ்ட் பாக்ஸ் ஆகியவற்றை உருவாக்குவோம்.

protected void btnAccessFiles_Click(object sender, EventArgs e)  

{  

    String[] xfiels = Directory.GetFiles(@"c:\temp");  

    foreach (string a in xfiels)  

    {  

        ListBox1.Items.Add(a.ToString());   

    }  

 

IIS –ல் விண்டோஸ் இன்டிக்ரேட்டடு ஆதண்டிகேசனை எனேபிள் செய்யவும்.

பிராஜெக்டை பில்ட் செய்து இயக்கி பட்டனை கிளிக் செய்து டெம்ப் ஃபோல்டரில் உள்ள ஃபைல்களை அனுக விரும்பினால் ஆக்சஸ் டினைடு என்ற பிழைச்செய்தி வரும்.ஏனெனில் உங்கள் ஏஎஸ்பி டாட் நெட் அப்ளிகேசன்  உங்களை டெம்ப் ஃபோல்டரை அணுக அனுமதிக்காது ஏனெனில் ACL எடிட்டரை சார்ந்திருக்கின்றது.

நீங்கள் உங்கள் அப்ளிகேசனை அட்மினிஸ்ட்ரேடிவ் அக்கவுண்டில் ரன் செய்ய அனுமதிக்க வேண்டும்.

எனவே web.config ஃபைலில் அட்மினிஸ்ட்ரேடிவ் ஐடிடென்டியை இம்பெர்சனேட் செய்ய அனுமதித்தல் வேண்டும்.

<configuration>  

   <system.web>  

    <identity impersonate ="true" userName ="VidyaVrat" password ="abc123"/>  

  </system.web>  

</configuration> 

இப்பொழுது பிராஜெக்டை பில்ட் செய்து இயக்கி பட்டனை கிளிக் செய்து லிஸ்ட் பாக்சில் ஃபைல்கள் சேர்க்கப்படுகின்றது


 

இதற்கு மாற்றாக iis magager கொண்டும் குறிப்பிட்ட பயனரை இம்பெர்சனேட் செய்யலாம்.

அதில் ASP.NET impersonation எடிட்டரில் specific user என்ற ரேடியோ பட்டனை கிளிக் செய்து குறிப்பிட்ட யூசர் பெயரை உள்ளீடு செய்தல் வேண்டும்.


நன்றி.

முத்து கார்த்திகேயன்,மதுரை.

ads Udanz