PDA

View Full Version : مشکل امنیت در صفحات



perfume
یک شنبه 08 آبان 1384, 01:22 صبح
سلام
اگر بخواهیم تمام کاربران پس از ورود نام کاربری و رمز ورود به سایت وارد شوند و نتوانند با وارد کردن نام صفحات بدون مجوز وارد شوند چه باید کرد.
ممنونم

nazaninam
دوشنبه 09 آبان 1384, 02:12 صبح
ببین باید توی تنظیمات وب کانفیگت کمی دست کاری کنی:

این فایل وب کانفیک نمونه یک وب کانفیگ که authentication فعال شده است من ضمیمه کردم دانودش کن بعد توضیحات زیر رو بخون
خوب چی کار می کنه؟
تو قسمت authentication اگه دقت کنی یک سری تغییرات داده شده از جمله انکه mode =Form تعریف شده و چند خط هم زیاد شده :
خط اول نام کوکی ذخیره شده رو تعیین کرده
خط دوم صفحه ای رو معرفی میکنه که کاربر authenticate میشه ( بیشتر توضیح میدم)
خط سوم میگه از همه صفحات موجود در پوشه ای که تو خط بعد تعیین شده محافظت کن
چند خط بعد هم که کاملا واضح 2 تا username و pasword برای ورود تعیین کرده
خوب

کلا این کار میگه از تمام صفحات محافظت شه و هر کسی خواست به هر صفحه ای در این پوشه دسترسی پیدا کنه اونو به صفحه login.aspx هدایت کنه تا authenticate بشه حالا تو اون صفحه Login.aspx رو به دلخواهت عوض کن و Username ,password های دلخواهت رو به تعداد دلخواه اضافه کن
تغییر بعدی که مشاهده میشه تو بخش authorization هست که به deny users="?" تغییر کرده
یعنی چی ؟
یعنی اینکه از ورود همه کاربرا جلو گیری بشه
خوب قدم بعدی چیه ؟
یه صفحه لوگین میسازی که username , password رو از کاربر بگیره وبه صفحه دلخواهت هدایت کنه
یه صفحه میسازی با 2 تا textbox و یک button
فضا نام Imports System.Web.Security را اضافه کن

و کد های زیر رو توی رخداد مربوط به کلیک شدن button بنویس



If FormsAuthentication.Authenticate(username.Text, pass.Text) Then

FormsAuthentication.RedirectFromLoginPage(username .Text, False)

End If



به همین راحتی تموم شد
حالا تو هر صفحه ای رو که صدا کنی همین صفحه authenticate میاد اگه username,password درست بود میزاره صفحه رو ببینی
اگه اشکال داشتی بپرس

brida_kh
سه شنبه 10 آبان 1384, 11:47 صبح
در صفحهlogin کد زیر رو اضافه کن
Session["ThisUser"]=druser["xuser"] این مربوط به دیتا ردرتون هست
در بقیه صفحات هم این کد رو:
if(Session["ThisUser"]==null)
Response.Redirect("login.aspx", true)