شرح MemberShip و RoleManager

شروع موضوع توسط TNZ187 ‏31 ژانویه 2008 در انجمن برنامه‌نویسی با ASP.NET

  1. zorig4fun

    zorig4fun Member

    ارسال‌ها:
    253
    تشکر شده:
    107
    امتیاز دستاورد:
    16
    در جلسات گذشته ما پروفایل را فعال کردیم و پروفایل را برای کاربر در زمان ثبت نام وارد کردیم در این جلسه برای کاربر صفحه ای در نظر میگیریم که اطلاعات را از پروفایل خوانده و بخ ماربر نمایش داده شود هدف ما از این کار نشاندادن این است که چگونه اطلاعات را از پرفایل بخوانیم.

    کار بسیار ساده میباشد و با مثالی کار را شروع میکنیم یک صفحه جدید به به پروژه اضافه میکنیم به نام MyProfile.aspx در این صفحه ما میخواهیم که کاربر ثبت نام شده بعد از لوگین کردن اطلاعات پروفایا خود را ببیند. در صفحه ما 3 تا لیبل میزاریم و نامگزاری میکنیم و تکس آنها را حذف میکنیم و در کدهای لود صفحه کدهای ذیل را اضافه میکنیم.


    کد (Text):

    C#

            Country.Text = Profile.Country;
            Gender.Text = Profile.Gender;
            Age.Text = Profile.Age.ToString();

     
    کد (Text):

    VB

    Country.Text = Profile.Country
    Gender.Text = Profile.Gender
    Age.Text = Profile.Age.ToString()

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

    موفق باشید
     
    نوشته شده توسط zorig4fun در ‏3 فوریه 2008
    gordafarid، eAmin و amir_3d_mad از این ارسال تشکر کرده اند.
  2. zorig4fun

    zorig4fun Member

    ارسال‌ها:
    253
    تشکر شده:
    107
    امتیاز دستاورد:
    16
    متاسفانه سواد دات نت فارسی زبانان بالاتر از فریمورک 1.1 نیست و در اینترنت هیچکسی هیچ مقاله ای دیگر نمینویسه که تکنولوژی روز را به دیگران به زبان فارسی انتقال بده و درسته که زبان برنامه نویسی انگلیسی هست و باید یاد گرفت ولی زمان زیادی را نیاز داریم که انگلیسی را در حدی که بتوان مقاله خواند یاد گرفت اون هم مقاله فنی. برای همین امسال تصمیم گرفتم تا وبسایتی برای این منظور درست کنم و از دوستانی که میتوانند همکاری کنند خواهش میکنم کمک کنند تا وبسایت سریعتر راه اندازی بشه. در پروژه ملورین که کاملا مجانی میباشد و برای فارسی زبانان در نظر گرفته شده ویدئو های برای فروش گزاشته شده که همکنون با دوستانم در ایران برای فروش هماهنگ شده ولی تا سایت راه اندازی نشود به صورت رسمی اعلام نمیشود. درامد حاصل از فروش برای مخارج سایت که کم هم نیست در نظر گرفته شده لطفا برای یادگیری بیشتر شما و ساپرت مالی ملورین این ویدئو ها را با قیمت مناصب خریداری کنید.


    بحث را ادامه میدهیم با رول ها تا حالا رول را ما فعال کردیم و در مواردی هم از آن استفاده کردیم ولی کاربری که در سایت ثبت نام میکند هیچ رولی به آن داده نمیشود. در این جلسه ما میخواهیم که وقتی کاربر ثبت نام میکند به کاربر رولی اختصاص دهیم بطور مثال آن را به رول از قبل ایجاد شده (کابر غیر فعال) معرفی کنیم.

    برای این کار ما همانند مثالهای پروفایل کلاسی تعریف خواهیم کرد و در هنگام ثبت نام آن را استفاده میکنیم. خوب پروژه قبلی را باز کنید یا اینکه پروژه جدید ایجاد کنید و در صفحه رجیستر کاربر کدهای زیر را وارد کنید.

    کد (Text):

    C#

    // Deactivate event fires when user hits "next" in the CreateUserWizard
    public void AssignUserToRoles_Deactivate(object sender, EventArgs e)
    {
       
       
        // Add user to role
       
        Roles.AddUserToRole(CreateUserWizard1.UserName, "عضو غیر فعال");
       
       
    }

     
    کد (Text):

    VB

        ' Deactivate event fires when user hits "next" in the CreateUserWizard
        Public Sub AssignUserToRoles_Deactivate(ByVal sender As Object, ByVal e As EventArgs)

               
            ' Add user to role

            Roles.AddUserToRole(CreateUserWizard1.UserName, "عضو غیر فعال")


        End Sub

     
    در اینجا ما کلاسی تعریف کردیم که هروقت کابر دکمه ثبت نام را میزند رولی به نام عضو غیر فعال برای کاربر در دیتابیس ذخیره میشود.
    ما کلاس Roles را صدا زدیم و از آن AddUserToRole را که برای اضافه کردن رول به کاربر میباشد را انتخواب کردین در اینجا داخل پرانتز ما تعریف میکنیم که کدام کاربر را باید به رول اختصاص دهد که در اینجا چون کاربر به وصیله کنترل CreateUserWizard1 به دیتابیس اضافه میشود برای همین CreateUserWizard1 را صدا زده و اسمی که کاربر وارد کرده را میگیریم و به آن نام رولی که در دیتابیس موجود میباشد را میدهیم.

    کار به این سادگی انجام گرفت و شما همانند درس قبلی میبایست به کنترل CreateUserWizard1 بگید که چه زمانی این کار صورت بگیرد که برای این کار ما مرحله اول را در نظر داریم و به پنجره پراپرتیز رفته و در ایونت CreateUserWizard1 ما CreatedUser را که دکمه ایجاد کاربر هست را به کلاس نوشته شده اختصاص میدهیم.

    البته موردی که در جلسه قبل هم یادم رفت بگم این هست که در ایونت کنترل اگر شما دو بار روی ایونت خاصی کلیک کنید کدهای مربوط به آن برای شما ایجاد میشود و کدها را داخل آن میتوانید بنویسید. اسامی کنترل ها و ایونت ها شاید متفاوت باشد برای همین اول دو بار کلیک کنید بعد کدها را با اسامی درست در مابین آنها قرار دهید.


    موفق باشید
     
    آخرین ویرایش: ‏3 فوریه 2008
    نوشته شده توسط zorig4fun در ‏3 فوریه 2008
    mgh_790، gordafarid، eAmin و 2 نفر دیگر از این ارسال تشکر کرده اند.
  3. zorig4fun

    zorig4fun Member

    ارسال‌ها:
    253
    تشکر شده:
    107
    امتیاز دستاورد:
    16
    احتمالا این آخرین مقاله من خواهد بود در این تاپیک و بحث رو با ارسال ایمیل به کاربر خاتمه میدهم

    در کنترلهای ثبت نام و عوض کردن پسورد و یاداوری پسورد ما در پنجره پراپرتیز یک قسمت میبینیم به نام MailDefinition که کار ارسال ایمیل را به عهده دارد. در این قسمت ما اپشنهای دیگری را داریم که موارد مهم را برای شما توضیح میدهم.

    From در این گزینه شما میبایست آدرس ایمیل سایت را وارد کنید.
    Priority این گزینه مهم بودن ایمیل را تنظیم میکند.
    Subject موضوع ایمیل را مشخص میکند.
    BodyFileName در این گزینه که من در آخر اوردم فایل تکسی را باید معرفی کنید که درواقع متن ایمیل شما میباشد.

    BodyFileName که یک فایل تکست ساده میباشد اطلاعات کاربر را به وی منتقل میکند. در داخل این فایل شما میتوانید از تگهای HTML نیز برای فرمت دهی استفاده کنید.

    فایل BodyFileName را به صورت ذیل بنویسید:

    کد (Text):


    <%UserName%>
    <%Password%>
    <%PasswordQuestion%>
    <%PasswordAnswer%>
     
    اگر خواستید مواردی را جلوی آنها اضافه کنید که کاربر بداند اطلاعات چه هستند و با ساخت جداول و غیره آنها را فرمت دهی کنید و فایل را با فرمت txt ذخیره کنید.کار به پایان رسید.


    امیدوارم که تا اینجا توانسته باشم اطلاعات مفیدی را برای شما نوشته باشم و اگر میخواهید از من تشکر کنید بزرگترین تشکر این هست که من در یک جائی ببینم که تازه کاری سوال کرده و شما وقت گزاشتید و جواب دادید.

    امیدوارم همه شما را در سایت خودم www.melorin.net ببینم و در آنجا آموزشهای دیگری را نیز خواهید یافت
    موفق باشید
     
    نوشته شده توسط zorig4fun در ‏3 فوریه 2008
    gordafarid، amir_3d_mad و eAmin از این ارسال تشکر کرده اند.
  4. TNZ187

    TNZ187 Member

    ارسال‌ها:
    178
    تشکر شده:
    96
    امتیاز دستاورد:
    16
    واقعا چرا ؟

    سلام
    واقعا نا امید شدم . :sad: . بابا من که مقالات کامل سفارشی کردن Mmembership , RoleProvider رو لینک داده بودم خوب چرا مراجعه نمی کنید آخه .
    برای دوستانی که به طور کلی علاقه به سفارشی کردن دارن کتاب Wrox.Professional.ASP.NET.2.0.Server.Control.and.Component.Development.Aug.2006
    رو توصیه می کنم . یک دکتر ایرانی به نام آقای خسروی یا شبه به اون نوشته و متن خیلی رونی هم داره .
     
    نوشته شده توسط TNZ187 در ‏5 فوریه 2008
  5. khz-web1

    khz-web1 Member

    ارسال‌ها:
    198
    تشکر شده:
    40
    امتیاز دستاورد:
    16
    آقا اگه لطف کنید این مقاله رو به صورت Pdfبزاری ممنون میشم
     
    نوشته شده توسط khz-web1 در ‏7 آوریل 2008
  6. shirani

    shirani مدیر انجمن <A href="http://forum.majidonline.com/f

    ارسال‌ها:
    4,543
    تشکر شده:
    6,207
    امتیاز دستاورد:
    113
    من ميخوام رول دادن به يوزر ها را روي وب پياده سازي کنم ( نمي خوام از طريق asp.net configoration اينکار انجام بدم )

    چي کار بايد کرد
     
    نوشته شده توسط shirani در ‏3 ژوئن 2008
  7. m_tavakoli_h

    m_tavakoli_h New Member

    ارسال‌ها:
    2
    تشکر شده:
    1
    امتیاز دستاورد:
    1
    memebership یا یک گزینه دیگه؟

    نظرتون رو در مورد استفاده از mmebership یا این نوشتن جدول دیگه می خو
    و اینکه توی roll بایستی فقط نقش ها رو تعریف کرد و یا اینکه عملیت رو هم می شه تعریف کرد
    مثلا کارگزین یا اضافه و حذف کارمند
     
    نوشته شده توسط m_tavakoli_h در ‏19 جولای 2008
    mamadcss از این پست تشکر کرده است.
  8. tarenoco

    tarenoco Member

    ارسال‌ها:
    216
    تشکر شده:
    14
    امتیاز دستاورد:
    18
    سلام منو ببخشید فکر نکنم که جای مناسبی سوال مطرح می کنم
    ولی میخوام سوالم رو بپرسم
    من یه قالب html دارم میخوام با asp یه امار گیر براش بذارم که آمار روز و هفته و... رو نشون بده
    نمیخوام از این کد های آماده استفاده کنم
    ممنون میشم راهنمایی کنید
     
    نوشته شده توسط tarenoco در ‏17 می 2014

به اشتراک بگذارید