PDA

View Full Version : محدود کردن کاربر مهمان از دانلود فایل



razeyeh_sh
یک شنبه 12 شهریور 1391, 23:23 عصر
سلام.من یه دیتا گریددارم که توش نرم افزار معرفی میکنم و لینک دانلودش رو هم میزارم.
برای دیتا گریدم یه تمپلت طراحی کردم ویه هایپرلینک توشه که کاربر با کلیک روی اون نرم افزار رو دانلود میکنه.
حالا میخوام کاربر مهمان فقط محصول رو ببینه.ولی لینک دانلود براش غیرفعال باشه یا اینکه نتونه دانلود کنه؟
برای احراز هویت هم از sessoin استفاده کردم.
چیکار باید کرد؟

meisam12
یک شنبه 12 شهریور 1391, 23:33 عصر
سلام
می توانید اون لینک دانلود داخل گرید ویو را داخل کنترل لاگین بذازید و به کسانی اجازه دهید که مجوز دارند.

razeyeh_sh
یک شنبه 12 شهریور 1391, 23:54 عصر
ببخشید ولی متوجه نشدم.آخه من از کنترل های log in خود دات نت استفاده نکردم.خودم بخش log in رو ساختم.

razeyeh_sh
یک شنبه 12 شهریور 1391, 23:56 عصر
سلام
می توانید اون لینک دانلود داخل گرید ویو را داخل کنترل لاگین بذازید و به کسانی اجازه دهید که مجوز دارند.

ببخشید متو جه نشدم.یعنی چجوری؟
من از کنترل های log in خود دات نت استفاده نکردم.خودم طراحیش کردم.

meisam12
دوشنبه 13 شهریور 1391, 00:25 صبح
به این صورت عمل کن اون لینکی که می خواهی فقط کاربران لاگین ببینند.

<ItemTemplate>
<asp:LinkButton ID="lbFinalizeOrder" runat="server"
CommandArgument='<%# Eval("OrderID") %>' CommandName="DoPayment"
Visible='<%# User.Identity.IsAuthenticated %>' >پرداخت آنلاین و تسویه</asp:LinkButton>
</ItemTemplate>

در خاصیت visible شرط نشان دادن این است که لاگین باشد.

razeyeh_sh
دوشنبه 13 شهریور 1391, 15:58 عصر
ارور میده.من یه هایپرلینک گذاشتم.لینک باتن نیست.فرقی داره؟
این ارورشه:
The server tag is not well formed.
:گریه:

meisam12
دوشنبه 13 شهریور 1391, 17:35 عصر
خوب از لینک باتن استفاده کن. و در رویداد کلیک به آن آدرسی که می خواهید هدایت کنید.

ارور میده.من یه هایپرلینک گذاشتم.لینک باتن نیست.فرقی داره؟
این ارورشه:
The server tag is not well formed.
:گریه:

razeyeh_sh
دوشنبه 13 شهریور 1391, 17:53 عصر
آخه هر محصولی آدرس لینک دانلودش خب فرق داره واین آدرس توی پایگاه داده توسط مدیر ثبت شده.
یعنی navigate url هایپرلینکم دیتا بایندینگ شده با فیلد آدرس اون محصول توی پایگاه داده.

بالینک باتن میشه اینکارارو کرد؟

meisam12
دوشنبه 13 شهریور 1391, 18:44 عصر
در وب کانفیگ کدهای زیر را در system.web اضافه کن

<authentication mode="Forms">
<forms name="Authentication" defaultUrl="~/Default.aspx" loginUrl="~/Login.aspx" timeout="43200" slidingExpiration="true" />
</authentication>

بعد اون لینک باتن را به صورت بذار

<asp:LoginView ID="LoginView1" runat="server">
<LoggedInTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" >LinkButton</asp:LinkButton>
</LoggedInTemplate>
</asp:LoginView>

razeyeh_sh
دوشنبه 13 شهریور 1391, 18:59 عصر
دوست عزیز من گفتم که ازکنترل های login استفاده نکردم

meisam12
دوشنبه 13 شهریور 1391, 19:27 عصر
به این صورت عمل کن

<asp:HyperLink runat="server" NavigateUrl='<%= isAuthenticated()? "مسیر کاربری که مجوز دارد در این جا ذکرشود" : "در غیر اینصورت یک آدرس پیش فرض یا هیچ چیز این جا بگذارید" %>'></asp:HyperLink>


و این کد را هم در آن صفحه اضافه کن

public static bool isAuthenticated()
{
return HttpContext.Current.User.Identity.IsAuthenticated;

}

AmirGhasemi
دوشنبه 13 شهریور 1391, 20:10 عصر
سلام
من هم پيشنهاد خودم را بدهم!!!!؟؟؟؟؟؟؟؟ دعوام نكنيد فقط تو را خدا!!!
من الان وقت كدنويسي ندارم اما آخر شب قطعه كدش را مي نويسم براتون مي فرستم فعلا فقط راه حل شفاهي اش را بگم
شما چون از Session استفاده كرديد وقتي Page باز ميشه در PreInit يا در binding گريد بررسي كن اگر Session برقرار بود پراپرتي Visible لينك راTrue كن و اگر Session برقرار نبود مقدار Visible را false كن
اين جواب ميده و من خودم همين كار را كردم!!!

razeyeh_sh
سه شنبه 14 شهریور 1391, 11:43 صبح
سلام
من هم پيشنهاد خودم را بدهم!!!!؟؟؟؟؟؟؟؟ دعوام نكنيد فقط تو را خدا!!!
من الان وقت كدنويسي ندارم اما آخر شب قطعه كدش را مي نويسم براتون مي فرستم فعلا فقط راه حل شفاهي اش را بگم
شما چون از Session استفاده كرديد وقتي Page باز ميشه در PreInit يا در binding گريد بررسي كن اگر Session برقرار بود پراپرتي Visible لينك راTrue كن و اگر Session برقرار نبود مقدار Visible را false كن
اين جواب ميده و من خودم همين كار را كردم!!!
آقا امیر من منتظر قطعه کد هستم که گفتین میزارین.
لطفا قبل از اینکه پست رو حذف کنن وبگن نمیدونم بی محتواس:متفکر: جواب بدین.