View Full Version : مشکل در membership در هاست
farhud
یک شنبه 08 آبان 1390, 17:59 عصر
دورود بر همگی
من یک سایت طراحی کرده ام که از جداول membership خود asp.net استفاده می کنه. تا وقتی روی سیستم خودم هست مشکلی نداره ولی وقتی روی هاست می ره بخش شناسایی کاربران از کار می افته. با بقیه جداول ارتباط داره ولی با جداول مربوط membership ارتباط نداره.
fakhravari
یک شنبه 08 آبان 1390, 20:56 عصر
اینا رو اضافه کن
<roleManager enabled="true">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ConnectSring1" applicationName="/"/>
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider " applicationName="/"/>
</providers>
</roleManager>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="ConnectSring1" applicationName="/"/>
</providers>
</membership>
<authentication mode="Forms">
<forms loginUrl="LoginToSite.aspx" defaultUrl="Default.aspx"/>
</authentication>
<customErrors defaultRedirect="~/Error/Error.htm" mode="RemoteOnly">
<error statusCode="500" redirect="~/Error/Error.htm"/>
<error statusCode="404" redirect="~/Error/FileNotFound.htm"/>
<error statusCode="403" redirect="~/Error/Forbidden.htm"/>
<error statusCode="400" redirect="~/Error/400 Bad Request.htm"/>
<error statusCode="401" redirect="~/Error/401 Unauthorized Error Resolution.htm"/>
</customErrors>
در بالا اسم connectionStringName دیتابیس بزار
farhud
دوشنبه 09 آبان 1390, 09:55 صبح
با سپاس از جوابتان.
دوست عزیز تمام تنظیمات بالا در Web.config انجام شده بود (این اولین برنامه من نیست. قبلا نیز کار کرده ام: http://hostsinfo.ir).
نمی دانم چرا این مشکل را دارد.
نکته قابل توجه این است که اگر کل سایت را هم در سیستم خودم کپی کنم، باز هم دچار همین مشکل می شوم.
Saman Hashemi
دوشنبه 09 آبان 1390, 10:03 صبح
شما به جای / نام برنامه قرار بدید ببینید درست میشه...!
applicationName="/"
البته یه بار همچین مشکلی داشتم که از مرورگر بود اینم چک کنید...!
farhud
دوشنبه 09 آبان 1390, 12:03 عصر
خوب باید اقرار کنم یک اشتباه کوچک کرده بودم که البته نتیجه آن خیلی بزرگ بود؛ applicationName را وارد نکرده بودم.
و اما چرا این اشکال پیش می آید؛ استادان گرامی می دانند ولی برای خودم که یادآوری بشه می نویسم.
وقتی applicationName را مشخص نکنیم، IIS برنامه را در هر بار که در پوشه متفاوتی قرار بگیره یک برنامه تازه می شناسه و به آن یک ApplicationID ویژه میده و همین باعث میشه که ما در پوشه های مختلف اعضاء و نقش ها را نبینیم و نتوانیم از آنها استفاده کنیم. و چون هنگام Upload سایت در هاست، سایت در یک پوشه تازه قرار میگیره، یک ApplicationID تازه می گیره.
حال اگر applicationName گذاشته شده و به آن یک نام اختصاص بدیم مشکل حل میشه.
ولی اگر از ابتدا این کار انجام نشده؛ برای رفع مشکل (مثل بنده) باید در جدول aspnet_Applications فیلدهای ApplicationName و LoweredApplicationName را به یک نام؛ مثلا /؛ تغییر داد و در Web.config برای Role manager و Membership یک applicationName تعریف و برابر / قرار داد.
بنده را ببخشید.
از هر دو دوست سپاسگزارم.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.