با سلا. دو سؤال دارم:
1- کاربران فایل pdf رو آپلود می کنند. حالا اگر در url آدرس اون فایل رو بنویسیم فایل دانلود می شه. به چه صورت این مشکل را رفع نماییم؟
2- وقتی کاربری از سایت خارج می شه، session مربوط به او پاک می شود. پس از خارج شدن از سایت ، کاربر به صفحه اول هدایت می شود. حالا اگر دکمه back مرورگر را بزنیم صفحه کاربر باز می شود. لطفا راهنمایی نمایید.
با تشکر
میتونید برای مسیر PDF ها سطح دسترسی بزارید که کاربران لاگین نکردن نتونند دانلود کنند
در وب کانفیگ کد زیر را قرار دهید
<location path="Downloads"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location>
با تشکر.
برای سؤال دو چه راهی پیشنهاد می دهید؟
با تشکر
مقادیر زیر را در تگ head قرار دهید
<META Http-Equiv=”Cache-Control” Content=”no-cache”> <META Http-Equiv=”Pragma” Content=”no-cache”> <META Http-Equiv=”Expires” Content=”0″>
استاد مقادیر رو در head قرار دادم نشد
متد زیر را در global ساختم و درست شد:
protected void Application_BeginRequest() { Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1)); Response.Cache.SetNoStore(); }
<deny users=
"?"
/> کار نمی کنه استاد
چگومه کاربران را اهراز هویت کردید ؟
<authentication mode="Forms"> <forms loginUrl="~/Login/Login" timeout="2880" protection="All" path="/"/> </authentication>
درسته
کد فوق باید جواب بده
مسیر را در Path درست کردید ؟
وقتی در مرورگر آدرس دایرکتوری را می نویسم شکل زیر ظاهر می شود:
اما وقتی آدرس فایل PDF را در ادامه می نویسم فایل مورد نظر نشان داده می شود.
لطفا راهنمایی نمایید
با تشکر
کدی که مینویسید را قرار دهید
<location path="Book"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location>
این را بعد از </system.web> می نویسم
باید داخل تگ configuration در وب کانفیگ باشد
شاید محل اشتباهی تعریف میکنید
با تشکر از استاد گرامی
با انجام این کار وقتی کاربر آدرس فایل را می زند باید به صفحه login هدایت شود؟
بله باید این اتفاق بیوفته
استاد تفاوت دو دستور زیر چیست:
<deny users="?"/> <deny users="*"/>
؟ یعنی ناشناس ها و * یعنی همه کاربرا
استاد وقتی deny="*" می گذارم وارد login می شود اما وقتی ؟ می گذارم اتفاقی نمی افتد.
بنظرتون مشکل کجا است؟
اگر کاربر لاگین باشد اجازه ورود میده
چک کنید کاربر لاگین نباشد
ببخشید استاد شاید کاربران وارد شده شناسایی نمی شوند.
امکان دارد؟
اگر کدها درست باشد این امکان وجود نداره
من از custom role provider استفاده می کنم.
از کجا بفهمم کاربران شناسایی می شوند یا خیر؟
موقع وارد شدن session ساخته می شود.
آیا این امر برای شناسایی کافی می باشد؟
با تشکر
با استفاده از User.Identity.IsAuthenticated میتونید چک کنید
استاد محترم متد IsAuthenticate مقدار false رو بر می گردونه.
من یک کلاس CustomAuthorizeAttribute و یک کلاس CustomRoleProvider دارم.
متد IsAuthenticate در چه کلاسی می باشد؟
این که false بر می گرداند یعنی مشکل همین جا است؟
لطفا راهنمایی بفرمایید
از توجهات شما نهایت سپاس را دارم
وقتی false برمیگردونه یعنی اهراز هویت انجام نشده
در وب کانفیگ تنظیمات مربوط به اهراز هویت را انجام دادید ؟
لاگین را چطور پیاده سازی کردید ؟
استاد در webconfig احراز هویت را بصور زیر نوشتم:
<authentication mode="Forms"> <forms name=".ASPXFORMSAUTH" loginUrl="~/Login/Login" timeout="2880"/> </authentication>
name را که بهش اضافه کردم isauthenticate مقدار true رو بر میگردونه.
در لاگین هم کد زیر رو نوشتم:
Session["User"] = userid; FormsAuthentication.SetAuthCookie(u.MelliCode, true); return RedirectToAction("Index", "Student");
تنظیمات درسته
باید مشکل از جای دیگه ای باشه
بنظرتون کجا رو چک کنم؟
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)