PDA

View Full Version : سوال: مشکل با authentication



reza4359
چهارشنبه 14 دی 1390, 16:41 عصر
سلام دوستان من یک پوشه دارم به اسم admin حالا میخوام وقتی کاربر این دایرکتوری که قسمت ادمین سایت و فرمهای مربوط به ادمین داخل اون قرار داره را درخواست کرد به صفحه login هدایت بشه
مثلا اگه زد www.barnamenevis.org/admin (http://www.barnamenevis.org/admin)
به صفحه login بره
ونیازی به نوشتن این نباشه
www.barnamenevis.org/admin/login (http://www.barnamenevis.org/admin/login).aspx
حالا باید چه کار کرد؟
ممنون

hamid_shrk
چهارشنبه 14 دی 1390, 17:13 عصر
تو وب کانفیگ اینو بنویس :

<location path="Admin/">
<system.web>
<authorization>
<allow users="Admin">
</allow>
<deny users="*">
</deny>
</authorization>
</system.web>
</location>

اینم اضافه کن

<forms loginUrl="Login.aspx" timeout="30" defaultUrl="Home.aspx" cookieless="AutoDetect">

این باعث میشه کاربری که درخواست نا معتبر داده بود بره به login
کلا این لینک رو بخون :
http://www.codeproject.com/KB/aspnet/ASPDOTNETauthentication.aspx

reza4359
چهارشنبه 14 دی 1390, 18:20 عصر
ممنونم ولی مشکل من این نیست این کد دسترسی همه افراد رو به پوشه ادمین محدود میکنه
من میخوام وقتی کاربر www.barnamenevis.org/admin (http://www.barnamenevis.org/admin) این آدرس رو وارد کرد دیگه نیازی به نوشتن نام صفحه نباشه و خودش تشخیص بده که باید به صفحه لاگین هدایت بشه مثل وارد شدن به قسمت مدیریت یک cms که وقتی
مثلا این آدرس رو وارد میکنیم www.barnamenevis.org/administrator (http://www.barnamenevis.org/admin)
خودش صفحه login رو تشخیص میده
حالا باید چه کار کرد؟

hamid_shrk
چهارشنبه 14 دی 1390, 18:24 عصر
تا اونجا که میدونم اینم همون کار رو میکنه و وقتی کسی دسترسی نداشه باشه اونو به لاگین redirect میکنه و این همونکاریه که شما میخواید دیگه؟

reza4359
چهارشنبه 14 دی 1390, 18:47 عصر
تا اونجا که میدونم اینم همون کار رو میکنه و وقتی کسی دسترسی نداشه باشه اونو به لاگین redirect میکنه و این همونکاریه که شما میخواید دیگه؟
نه دوست عزیز من وقتی مثلا پوشه admin رو داخل localhost روی سیستم خودم درخواست میکنم به این صورت localhost:1188/tud/admin
دایرکتوری پوشه رو نشون میده و لیست صفحات داخل اون رو نمایش میده و من نمیخوام اینجوری بشه و میخوام به صفحه login هدایت بشه
باید چه کار کرد؟

hamid_shrk
چهارشنبه 14 دی 1390, 18:53 عصر
فکر کنم باید از url rewriting استفاده کنید، یکم سرچ کنید تو سایت

mahmood_4246
چهارشنبه 14 دی 1390, 19:10 عصر
نه دوست عزیز من وقتی مثلا پوشه admin رو داخل localhost روی سیستم خودم درخواست میکنم به این صورت localhost:1188/tud/admin
دایرکتوری پوشه رو نشون میده و لیست صفحات داخل اون رو نمایش میده و من نمیخوام اینجوری بشه و میخوام به صفحه login هدایت بشه
باید چه کار کرد؟

اگه routing یا mapping بلد هستی که هیچ .. یه راه هم هست > داخل Page_Load صفحه چک کنی اگه کاربر وارد نشده بود با system.transfer اون رو بفرستی به صفحه لوگین .. مثل redirecting میمونه ولی ادرس بار تغییر نمیکنه

reza4359
چهارشنبه 14 دی 1390, 20:16 عصر
اگه routing یا mapping بلد هستی که هیچ .. یه راه هم هست > داخل Page_Load صفحه چک کنی اگه کاربر وارد نشده بود با system.transfer اون رو بفرستی به صفحه لوگین .. مثل redirecting میمونه ولی ادرس بار تغییر نمیکنه
داخل Page_Load کدوم صفحه!؟
آدرس به این صورته localhost:1188/tud/admin پس دیگه صفحه ایی در کار نیست
چون با این آدرس فقط پوشه درخواست میشه نه صفحه خاصی که بخوایم داخل پیج لودش چیزی بنویسیم!

EnKamran
چهارشنبه 14 دی 1390, 20:37 عصر
فکنم منظور این دوستمون اینه که مثلا بنده که هنوز لاگین نکردم اگر زدم SiteName.Com/Admin/Page.aspx خودش بره تو صفحه لاگین و آدرس من رو حفظ کنه و بعد از لاگین شدن منو بفرسته به همون آدرس
یعنی به SiteName.Com/Admin/Page.aspx نه اینکه برم به Default.
دوست من این کار رو وقتی شما دارید یک لاگین درست می کنید باید انجام بدبد ابتدا مقالات درست کردن لاگین و سیستم MemberShip رو بخونید بعد خودتون متوجه میشید

reza4359
چهارشنبه 14 دی 1390, 21:10 عصر
نه دوست عزیز منظورمو متوجه نشدید من از این نظر که گفتید مشکلی ندارم
تو پستهای بالا چند بار گفتم که میخوام دقیقا مثل ورود به قسمت مدیریت سیستم مدیریت محتوا عمل کنه
که اگه مثلا کاربر این آدرس رو وارد کرد به صفحه لاگین هدایت بشه مثل همین آدرس
http://kntu.masjedun.com/portal
این آدرس رو نگاه کنید وقتی به این آدرس میرید به طور خودکار شما رو به صفحه لاگین هدایت میکنه بدون اینکه اصلا آدرس یک صفحه رو درخواست کرده باشید
منم همین رو میخوام یعنی میخوام وقتی این آدرس رو زدم localhost:1188/tud/admin به صفحه لاگین داخل پوشه ادمین بره

mahmood_4246
چهارشنبه 14 دی 1390, 23:49 عصر
اگه یه فلدر به هش دسترسی بدی در صورتی که بخوایی بهش بدون لاگین شدن بهش دسترسی پیدا کنی خطای
403 - Forbidden: Access is denied.

میده .. در صورتی که Custom Error 403 رو مشخص کنی میره به اونجا

fakhravari
پنج شنبه 15 دی 1390, 00:00 صبح
با سلام
برای مثال کل ای ساختار با امکانات ممبرشیپ
<location path="Admin/">
<system.web>
<authorization>
<allow users="Admin">
</allow>
<deny users="*">
</deny>
</authorization>
</system.web>
</location>
چطوری میتوانیم از این امکانات استفاده نکنیم و یک قالب به صورت بالا داشته باشیم.
بدون چک کردن در هر پیج لود
مثل مثال دوستمون روی 1 پوشه امنیت بزاریم
اگر ممکن با مثال کار کنید