View Full Version : سوال: در مورد authentication
karim orooji
پنج شنبه 29 مهر 1389, 23:00 عصر
سلام بچه من دربرنامه برای سطح دسترسی ازauthentication استفاده میکنم که
این کد کانفیگشه
<authentication mode="Forms">
<forms name="logincookie" loginUrl="Default.aspx" timeout="20" defaultUrl="home_page.aspx"></forms>
</authentication>
<authorization>
<allow users="*"/>
</authorization>
ایجا میاد میگه که اگه کاربر اطلاعات ورودیش درست باشه شرطی دربرنامه گذاشتم اگه درست باشه میاد صفحه home_page.aspx براش باز میشه
حالا من برای برنامه سطح دسترسی گذاشتم که مدیر زمانی وارد برنامه میشه باید صفحه modir.aspx باید براش باز بشه چطوری این تعریف کنم توی این کد که صفحه مورد نظر برای مدیر باز بشه
pikoolas
جمعه 30 مهر 1389, 01:18 صبح
تمام صفحه ها ی مربوط به مدیر را داخل یک فولدر به نام Admin بزارید. داخل فولدر admin یک web .config بزارید و این مقادر رو تو اون اضافه کنید.
<system.web>
<authorization>
<allow roles="Administrator"/>
<deny users="*"/>
</authorization>
</system.web>حالا داخل web.config اصلیتون مقادر رو اینجوری تغییر بدید.
<authentication mode="Forms">
<forms defaultUrl="~/Admin/"
ادرس صفحه ای که اگه کاریر غیر مجاز وارد فولدر Admin شد به اون صفحه هدایت بشه loginUrl="~/Login.aspx"
timeout="200"
slidingExpiration="true"
/>
</authentication>
karim orooji
جمعه 30 مهر 1389, 11:07 صبح
سلام واقعا ممنونم و ببخشید اینقدر من سوال میکنم
اون کدی که گفتی در اخل کانفیگ اصلی بریزم.
پس برای کاربران باید چیکار کرد این کد شما defaultUrl="~/Admin/" برای مدیره پس کاربران چی
کد شما میگه اگه شرط برقرار بود بره به صفحه مدیر
من در برنامه یک dropdowenlist گذاشتم که ایتم هاش یکی کاربر و دیگری مدیره
که اگه کاربر را انتخاب کرد بره به صفحه home_page.aspx و اگه مدیر رو انتخاب کرد بره به صفحه modir.aspx
karim orooji
جمعه 30 مهر 1389, 12:42 عصر
سلام این لینک رو هم بزارم کاملترش کنم
اینم یک نمونه در سایت Asp
http://weblogs.asp.net/scottgu/pages/Recipe_3A00_-Implementing-Role_2D00_Based-Security-with-ASP.NET-2.0-using-Windows-Authentication-and-SQL-Server.aspx
mmnoody2006
جمعه 30 مهر 1389, 14:10 عصر
اینکه کاری نداره برای لوگین از کد نویسی استفاده کن
If Membership.ValidateUser(username, password) Then
Authenticate(username, password, True)
AutoRedirect(username)
End If
و بعد
Private Sub AutoRedirect(ByVal username As String)
If Roles.IsUserInRole(username, "Administrators") Then
Response.Redirect("~/useradmin/")
ElseIf Roles.IsUserInRole(username, "User") Then
Response.Redirect("~/User/")
ElseIf Roles.IsUserInRole(username, "Manager") Then
Response.Redirect("~/UserManager/")
End If
End Sub
از طریق رول کاربر اونو تشخیص بده :بوس:
karim orooji
جمعه 30 مهر 1389, 14:18 عصر
بازم یه سوال دیگه مطرح میشه
برای مدیر و کاربران هر کدوم یک پوشه با کانفیگ جدید ساختیم .
در کد شما :
<authentication mode="Forms"> <forms defaultUrl="~/Admin/" ادرس صفحه ای که اگه کاریر غیر مجاز وارد فولدر Admin شد به اون صفحه هدایت بشه loginUrl="~/Login.aspx" timeout="200" slidingExpiration="true" /> </authentication>
در کانفیگ اصلی این کده
میاد صفحه admin که مربوط به مدیره سایته
پس اگه کاربر در خواست ورود کنه چیکار بشه
در اصل ما باید دو صفحه معرفی برای authentication داشته باشیم (مدیر و کاربر)
بنا به درخواست صفحه مورد نظر باز بشه
در برنامه میتونیم از select case استفاده کرده که ایندکس DropDownList1 رو با select case ارتباط داده و درخواست مورد نظر رو به authentication فرستاده
اونجا که باید که کد ایندکس DropDownList1 کاربر الان توی برنامه 0 بیاد (صفحه کاربر رو باز کنه)
و به همین صورت برای مدیر هم همینطور
karim orooji
جمعه 30 مهر 1389, 14:20 عصر
اینکه کاری نداره برای لوگین از کد نویسی استفاده کن
با سلام دوست عزیز من Membership استفاده نمیکنم چون رو سیستم من مشکل داره برای همین بصورت دستی این کار رو انجام میده
آیا راه حلی دیگه هم هست
pikoolas
جمعه 30 مهر 1389, 17:09 عصر
پس اگه کاربر در خواست ورود کنه چیکار بشه;-----------------------------------------------------کاریر درخواست ورود به فولدر Client رو می کنه . اگه اطلاعاتش رو سیستم بود که وارد می شه در غیر این صورت می ره به صفحه login.aspx و بعد از login دوباره می ره به همونجایی که نتونسته بود وارد بشه. یعنی تو login .aspx ادرس صفحه ای که کاربر ازش اومده هست و بعد از لاگین دوباره به همون ادرس میره. /Login.aspx?ReturnUrl=%2fClient%2fWebForm1.aspx
--------------------------------در اصل ما باید دو صفحه معرفی برای authentication داشته باشیم (مدیر و کاربر)
</p>-----------------------------نه همون یکی کافیه. چون می خوایم loginUrl رو بهش معرفی کنیم.
iran_sky
جمعه 30 مهر 1389, 20:48 عصر
با سلام
این بحت بررسی من نگاه کردم چیزی نفهمیدم
دوست عزیز pikoolas خواهش میکنم یه نمونه مثال متناسب با سوالی که شده بزنید
تا دوستانی مثل من که تازه واردند بتونند این کار رو هم تجربه کنند
ممنون میشم ایم کار رو انجام بدید
با تشکر مرتضی احمدی
karim orooji
شنبه 01 آبان 1389, 12:36 عصر
سلام بچه ها این برنامه رو درست کردم
دوستان نگاه کنند ببیند
من در بانک نقش ها رو تعیین کردم
user = کاربر
admin مدیر
که دربانک دیگر تعریف شده
user=defulte.aspx
admin=modir.aspx
که میاد از بانک میخونه و چک میکنه که اگه شرط ها درست بود صفحه مورد نظر با توجه به درخواست بررسی شده و انجام میدهد
حالا نیمدونم که چرا کار نمیکنه زمانی که لاگین میشه همون صفحه میمونه صفحه مرو نظر باز نمیشه
iran_sky
یک شنبه 02 آبان 1389, 11:14 صبح
کسی نیست کمک کنه
pikoolas
یک شنبه 02 آبان 1389, 14:14 عصر
سلام.
این برنامه رو با vs2010 , sql2008 درست کردم.
کلمه عبور و پسورد برای مدیر : admin
کلمه عبور و پسورد برای کاربر:client
mahmood1000
پنج شنبه 06 آبان 1389, 00:41 صبح
سلام.
این برنامه رو با vs2010 , sql2008 درست کردم.
کلمه عبور و پسورد برای مدیر : admin
کلمه عبور و پسورد برای کاربر:client
دوست عزیز میشه در باره این برنامه توضیح بدید؟
در صورت امکان به صورت PDF یا word
با تشکر
pikoolas
پنج شنبه 06 آبان 1389, 23:09 عصر
دوست عزیز میشه در باره این برنامه توضیح بدید؟
در صورت امکان به صورت PDF یا word
با تشکر
در مورد کدهای استفاده شده در این برنامه در این تاپیک و تاپیک
http://barnamenevis.org/forum/showthread.php?t=254802
بحث شده. شما کدوم قسمت رو مشکل دارید؟
A.Yousefi
چهارشنبه 06 اردیبهشت 1391, 20:48 عصر
تو login .aspx ادرس صفحه ای که کاربر ازش اومده هست و بعد از لاگین دوباره به همون ادرس میره. .
خب اگه مستقیم بره تو صفحه لاگین چی؟
تو کدی که شما نوشتین ابتدا باید مشخص بشه که کاربر قصد ورود داره یا مدیر.
تو کد شما اگه مستقیم صفحه لاگین باز بشه و کاربر قصد ورود داشته باشه بهش اجازه ورود داده نمیشه.
فقط در صورتی که مدیر قصد ورود داشته باشه اجازه ورود داده میشه،مگر اینکه قبلا کابر روی لینک ورود کاربر کلیک کرده باشه.
این موضوع هم به خاطر اینه که خصوصیت DefaultUrl تو وب کانفیگ اصلی روی پیج ادمین ست شده.
نمیشه کاری کرد که بدون اینکه قبلا مشخص بشه کاربر قصد ورود داره یا مدیر،صرفا با وارد کاردن نام کاربری کاربر یا مدیر رو به صفحه مورد نظر هدایت کرد؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.