PDA

View Full Version : وارد نشدن به پوشه مدیریت



bitcob589
پنج شنبه 11 خرداد 1391, 21:28 عصر
با سلام
یک فولدر است که صفحات قسمت مدیریت در فولدر گذاشته شده است و برای ورود به سایت از کنترلlogin استفاده می شود در رویداد LoggedIn کنترل لاگین کد زیر وارد می شود اما نام کاربری و پسورد مدیریت وارد می شود مدیر سایت به پوشه مدیریت دسترسی پیدا نمی کند (در زمانی که مدیر سایت لاگین می کند به پوشه مدیریت هدایت نمی شود )کد به صورت زیر نوشته شده است



protectedvoid Login1_LoggedIn(object sender, EventArgs e)
{
if (Roles.IsUserInRole(Login1.UserName, "admin"))
{
Response.Redirect("~/admin/Default.aspx");
}
}

و در وب کانفیگ مدیریت به صورت زیر نوشته است


<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?"/>
<deny roles="customer"/>
<allow roles="admin"/>
</authorization>

</system.web>
</location>
</configuration>
اشکال در کجا است به چه علتی مدیر سایت به صفحات درون فولدر دسترسی پیدا نمی کند

fakhravari
پنج شنبه 11 خرداد 1391, 22:37 عصر
rols یکسان نیست
amdmino
admin

bitcob589
پنج شنبه 11 خرداد 1391, 22:52 عصر
rols یکسان نیست
amdmino
admin
جهت مشخص بودن اسم رول مدیریت و جهت نمایش در سایت amdmino را به admin نوشته شد تا که مشخص شود شود اسم رول مدیریت admin است که متاسفانه فراموش شد در پست 1 amdmino به admin تبدیل شود پست 1 تصحیح شد (اشتباه نوشتن املایی در پست 1)

fakhravari
جمعه 12 خرداد 1391, 00:12 صبح
<allow roles="Admin" />
<deny users="?" />
<deny roles="Users" />

bitcob589
جمعه 12 خرداد 1391, 09:45 صبح
<allow roles="Admin" />
<deny users="?" />
<deny roles="Users" />
کد بالا در وب کانفیگ گذاشته ولی هنوز زمانی که مدیر سایت لاگین می کند به صفحات درون پوشه هدایت نمی شود

bitcob589
جمعه 12 خرداد 1391, 19:10 عصر
آیا دستورات پست یک اشتباه است به چه صورتی می توان در زمانی که مدیر سایت لاگین می کند به صورت مستقیم به صفحاتی که درون فولدر مدیریت است هدایت کنیم

لطفا راهنمایی بفرمایید:افسرده::گریه::گریه: :گریه::گریه:

bftarane
جمعه 12 خرداد 1391, 19:55 عصر
در وب کانفيگ اين <location/> به نظر مي رسه اضافي باشه.

zgolestan
جمعه 12 خرداد 1391, 20:12 عصر
با سلام
یک فولدر است که صفحات قسمت مدیریت در فولدر گذاشته شده است و برای ورود به سایت از کنترلlogin استفاده می شود در رویداد LoggedIn کنترل لاگین کد زیر وارد می شود اما نام کاربری و پسورد مدیریت وارد می شود مدیر سایت به پوشه مدیریت دسترسی پیدا نمی کند (در زمانی که مدیر سایت لاگین می کند به پوشه مدیریت هدایت نمی شود )کد به صورت زیر نوشته شده است



protectedvoid Login1_LoggedIn(object sender, EventArgs e)
{
if (Roles.IsUserInRole(Login1.UserName, "admin"))
{
Response.Redirect("~/admin/Default.aspx");
}
}

و در وب کانفیگ مدیریت به صورت زیر نوشته است


<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?"/>
<deny roles="customer"/>
<allow roles="admin"/>
</authorization>

</system.web>
</location>
</configuration>
اشکال در کجا است به چه علتی مدیر سایت به صفحات درون فولدر دسترسی پیدا نمی کند


قسمت اول که کد رو نوشتین ، چرا اینجوری نشون میده؟؟؟
برای من کدتون رو نشون نمیده!

bitcob589
جمعه 12 خرداد 1391, 20:15 عصر
در وب کانفيگ اين <location/> به نظر مي رسه اضافي باشه.
در وب کانفیگ <location/> حذف شد ولی هنوز مدیر سایت در زمانی که لاگین می کند به صورت مستقیم به صفحات درون پوشه نمی رود

bitcob589
جمعه 12 خرداد 1391, 22:10 عصر
آیا کد نویسی در رویداد لاگین نوشته شده است اشتباه است حتی مدیر سایت به صفحات بیرون از پوشه مدیریت هدایت نمی کند

protectedvoid Login1_LoggedIn(object sender, EventArgs e)

{

if (Roles.IsUserInRole(Login1.UserName, "admin"))

{

Response.Redirect("~/admin/Default.aspx");

}

}

bftarane
جمعه 12 خرداد 1391, 23:37 عصر
ببين من که ايرداي نمي بينم.
من از کدهاي زير استفاده کردم و جواب هم داده. پيشنهاد مي کنم يه وب سايت جديد درست کني و اينا رو امتحان کني. فکر نکنم بيشتر از 10 دقيقه طول بکشه.
public partial class LoginPage : System.Web.UI.Page
{
protected void Login1_LoggedIn(object sender, EventArgs e)
{
if (Roles.IsUserInRole(Login1.UserName, "Admin"))
{
Response.Redirect("~/Admin/Admin.aspx");
}
else if (Roles.IsUserInRole(Login1.UserName, "Support"))
{
Response.Redirect("~/Support/Support.aspx");

}

}
اينم کدهاي وب کانفيگ پوشه مديريت
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="Admin" />
</authorization>

</system.web>

</configuration>
در وب کانفيگ اصلي هم در قسمت authorization چيزي ننوشتم يعني به صورت زير:
<authorization>
</authorization>

چيزي ننوشتم.
اينم يه عکس از پوشه مديريت و فايلهاي درونش
87760
ببين کمکي مي کنه اينا بهت؟

bitcob589
شنبه 13 خرداد 1391, 09:59 صبح
کد بالا اگر دیتابیس ممبرشیپ داخل دات نت باشدبه درستی کار می کند اما دیتابیس ممبرشیپ در sqlsrever2008 گذاشته شده است اما هنوز زمانی که مدیر سایت لاگین می کند به صفحات درون پوشه هدایت نمی شود به چه دلیلی ارتباط بین رول و دیتابیس ممبرشیپ که در sqlsrever2008 ارتباط برقرار نمی کند:متفکر:

bftarane
شنبه 13 خرداد 1391, 10:37 صبح
منم ديتابيسم رو در SQLEXPRESS ايجاد کردم و سپس با استفاده از regsql جداول ممبرشيپ را به ديتابيسم اضافه کردم.
اين تنظيمات رو در وب کانفيگ انجام دادم:
<membership defaultProvider="MyProvider">
<providers>
<add name="MyProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="3" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
</providers>
</membership>
<connectionStrings>
<clear/>
<add name="LocalSqlServer" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=E:\bahare2\we bsites\WebSitelogin\App_Data\myexpressdb.mdf;Integ rated Security=True;Connect Timeout=30;User Instance=True"/>
</connectionStrings>
توجه: اسم کانکشن استرينگ LocalSqlServer نه يه اسم دلخواه.
<roleManager enabled="true"/>

شما تنظيمات وب کانفيگ را انجام داده ايد؟

bitcob589
شنبه 13 خرداد 1391, 11:02 صبح
منم ديتابيسم رو در SQLEXPRESS ايجاد کردم و سپس با استفاده از regsql جداول ممبرشيپ را به ديتابيسم اضافه کردم.
اين تنظيمات رو در وب کانفيگ انجام دادم:
<membership defaultProvider="MyProvider">
<providers>
<add name="MyProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="3" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
</providers>
</membership>
<connectionStrings>
<clear/>
<add name="LocalSqlServer" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=E:\bahare2\we bsites\WebSitelogin\App_Data\myexpressdb.mdf;Integ rated Security=True;Connect Timeout=30;User Instance=True"/>
</connectionStrings>
توجه: اسم کانکشن استرينگ LocalSqlServer نه يه اسم دلخواه.
<roleManager enabled="true"/>

شما تنظيمات وب کانفيگ را انجام داده ايد؟
در وب کانفیگ تنظیمات انجام شد ولی هنوز مدیر سایت به صفحات درون پوشه هدایت نمی شود

bitcob589
دوشنبه 15 خرداد 1391, 12:08 عصر
چرا زمانی که دیتابیس ممبرشیپ در sql server 2008 است مدیر سایت زمانی که لاگین می کند به صفحاتی که درون پوشه هستند هدایت نمی شود :ناراحت::گریه:

لطفا راهنمایی بفرمایید

fakhravari
دوشنبه 15 خرداد 1391, 12:59 عصر
متن Error بزارید

bitcob589
دوشنبه 15 خرداد 1391, 13:06 عصر
متن Error بزارید
خطایی نمی دهد دیتابیس ممبرشیپ در sqlserver 2008 گذاشته است به دلیل اینکه دیتابیس ممبرشیپ در sqlserver 2008 مدیر سایت تشخیص نمی دهد