بررسی قدرت رمز عبور با استفاده ا ز کنترل Ajax PasswordStrength درASP.NET

در این مقاله قصد داریم نحوه بررسی قدرت رمز عبور با استفاده ازابزار کنترل Ajax PasswordStrength در ASP.NET را به شما آموزش دهیم.

بررسی قدرت رمز عبور با استفاده ا ز کنترل Ajax PasswordStrength درASP.NET

امروزه حفاظت از اطلاعات حساب شخصی بسیار اهمیت دارد. توسط کنترل PasswordStrength می توانیم سختی یا آسان بودن پسورد کاربر را بررسی کنیم.

در ادامه برخی از property های متداول کنترل  Ajax PasswordStrength را معرفی می کنیم.

BarBorderCssClass: این کنترل برای سفارشی سازی کلاس  CSS برای حاشیه کنترل PasswordStrengt استفاده می شود.

BarIndicatorCssClass:  این کنترل برای سفارشی سازی نوار شاخص قدرت پسورد استفاده می شود.

CalculationWeightings: از این کنترل برای محاسبه قدرت اعتبار پسورد استفاده می شود.

DisplayPosition: تنظیم موقعیت صفحه نمایش برای شاخص قدرت پسورد که پیش فرض سمت راست می باشد.

HelpHandleCssClass: این کنترل کلاس CSS برای لینک کمکی تنظیم می کند.

HelpHandlePosition: این کنترل موقعیت لینک کمکی را تنظیم می کند که پیش فرض، بالا سمت راست می باشد.

HelpStatusLabelID: این کنترل ID مربوط به help status lable را مشخص می کند.

MinimumLowerCaseCharacters: این کنترل تعریف می کند که چه تعداد حروف کوچک در پسورد باشد.

MinimumNumericCharacters: این کنترل تعریف می کند که چه تعدادکاراکترهای عددی در پسورد باشد.

MinimumSymbolCharacters: حداقل تعداد کاراکتر نماد خاص را تعریف می کند.

MinimumUpperCaseCharacters: این کنترل تعریف می کند که چه تعدادحروف بزرگ در پسورد باشد.

PreferredPasswordLength: طول پسورد را مشخص می کند.

PrefixText: این کنترل پیشوندی برای پسورد تعریف می کند که باید با آن شروع شود.

RequiresUpperAndLowerCaseCharacters: مشخص می کند که آیا رمز عبور نیاز به حروف کوچک و بزرگ دارد اگر بله پس لازم است و اگر نه پس لازم نیست.

StrengthIndicatorType: مشخص می کند که نوع شاخص قدرت پسورد  به صورت شاخص یا متن باشد.

StrengthStyles: برای تعیین کلاس CSS برای شاخص قدرت استفاده می شود.

TextCssClass: برای تعیین کلاس CSS برای متن استفاده می شود.

TextStrengthDescriptions: برای تعیین متن برای توصیف قدرت رمز عبور استفاده می شود مثل:خوب، قوی، خیلی قوی و....

TextStrengthDescriptionStyles: برای تعیین کلاس CSS برای توصیف قدرت شاخص متن استفاده می شود.

حال توضیحات قبل را در مثال ساده زیر به طور عملی ببینید.

1. ویژوال استودیو 2010 را باز کنید.

2. در منوی فایل روی گزینه New Project کلیک کنید و سپس#C، و بعد Empty WebSite را انتخاب کنید.

3. نام پروژه خود را UsingPasswordStrengthValidator یا هرنام دلخواه قرار دهید و مسیر ذخیره پروژه خود را مشخص کنید.

4. سپس روی Solution Explorer راست کلیک کنید و گزینه Add New Item را انتخاب کنید و به پروژه خود یک Web Form اضافه کنید.

5. در بخش <form> در صفحه Default.aspx یک Button و یک TextBox قرار می دهیم.

6.reference ابزار کنترل Ajax از nuget را یا به طور مستقیم و یا از official website از ابزار کنترل Ajax به پروژه خود اضافه کنید. برای اضافه کردن با استفاده از nuget package manager، نوع ابزار کنترل ajax را در  nuget package manager جستجو می کنیم و روی دکمه search  کلیک می کنیم.

7. بعد از نصب، کنترل Ajax به طور خودکار به toolbox اضافه می شود. اکنون در گوشه بالا سمت راست از textbox کلیک کنید و کنترل PasswordStrength را اضافه کنید همانطور که در شکل زیر نشان داده شده است.

در حال حاضر کد صفحه default.aspx به شکل زیر می باشد.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>    
    
<!DOCTYPE html>    
    
<html xmlns="http://www.w3.org/1999/xhtml">    
<head runat="server">    
    <title></title>    
</head>    
<body>    
    <form id="form1" runat="server">    
        <div>    
            <table style="margin-top: 30px">    
                <tr>    
    
                    <td>Enter Password    
                    </td>    
                    <td>    
                        <asp:TextBox ID="txtPassword" TextMode="Password" runat="server"></asp:TextBox>    
    
                        <ajaxToolkit:PasswordStrength ID="txtPassword_PasswordStrength" runat="server" BehaviorID="txtPassword_PasswordStrength" TargetControlID="txtPassword" />    
    
                    </td>    
                </tr>    
            </table>    
        </div>    
    
    </form>    
</body>    
</html>   

حال در properties کنترل PasswordStrength ویژگی های زیر را قرار می دهیم.

PreferredPasswordLength : 10

MinimumLowerCaseCharacters : 2

MinimumUpperCaseCharacters : 2

MinimumNumericCharacters : 2

RequiresUpperAndLowerCaseCharacters : True

StrengthIndicatorType : Text

کد زیر بعد از تعیین خواص کنترل PasswordStrength به صورت زیر می باشد.

<ajaxToolkit:PasswordStrength ID="txtPassword_PasswordStrength" runat="server"   
BehaviorID="txtPassword_PasswordStrength" TargetControlID="txtPassword"  
 MinimumLowerCaseCharacters="2" MinimumNumericCharacters="2"   
MinimumUpperCaseCharacters="2" PreferredPasswordLength="10" />  

حال برنامه را اجرا می کنیم و پسوردهای مختلف را براساس propertiesای که تعریف کردیم وارد می کنیم تا متن های مختلف را ببینیم.

پس از واردکردن بیش از یک کاراکتر قدرت رمز عبور به شکل زیر خواهد بود

حال پسوردی که تمام شرایط تعریف شده در بالا را داشته باشد، وارد می کنیم تا پیام زیر را دریافت کنیم.

کد زیر کد نهایی Default.aspx می باشد.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>    
    
<!DOCTYPE html>    
    
<html xmlns="http://www.w3.org/1999/xhtml">    
<head runat="server">    
    <title></title>    
</head>    
<body>    
    <form id="form1" runat="server">    
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>    
        <div>    
            <table style="margin-top: 30px">    
                <tr>    
    
                    <td>Enter Password    
                    </td>    
                    <td>    
                        <asp:TextBox ID="txtPassword" TextMode="Password" runat="server"></asp:TextBox>    
    
                        <ajaxToolkit:PasswordStrength StrengthIndicatorType="Text" ID="txtPassword_PasswordStrength" runat="server" BehaviorID="txtPassword_PasswordStrength" TargetControlID="txtPassword" MinimumLowerCaseCharacters="2" MinimumNumericCharacters="2" MinimumUpperCaseCharacters="2" PreferredPasswordLength="10" />    
    
                    </td>    
                </tr>    
            </table>    
        </div>    
    
    </form>    
</body>    
</html>   

به یاد داشته باشید:

- همانطور که در این مقاله اموزش دادیم حتما dll reference ابزار کنترل Ajax را اضافه کنید.

- refrence مربوط به script Manager را وارد نمایید.

فایل های ضمیمه