PDA

View Full Version : خطا هنگام استفاده از System.Web.HttpContext.Current.User.Identity.Name



raika17metal
سه شنبه 26 اردیبهشت 1391, 19:58 عصر
با سلام. من در Root پروژه ام یه سری Page دارم که دسترسی به بعضی هاشون فقط برای کاربران لاگین شده مجاز هستش. همچنین در پوشه ای به نام LoginedUsers هم یه سری Page دارم که دسترسی به اونا هم فقط برای کاربران لاگین شده مجاز هستش.
همه این صفحات از یک Masterpage استفاده می کنن که اون Masterpage در Root پروژه هستش.
من در رویداد Page_Load مربوط به MasterPage چنین کدی نوشتم:




if (HttpContext.Current.User.Identity.IsAuthenticated )
{
lblUsername.Text = HttpContext.Current.User.Identity.Name + " عزیز، خوش آمدید";

}
else
{
lblUsername.Text = "بازدید کننده محترم خوش آمدید";
}

زمانی که کاربر لاگین میکنه به راحتی میتونه به صفحه هایی که مخصوص کاربران لاگین شده هستش در Root دسترسی پیدا کنه ولی زمانی که میخواد به یکی از صفحاتی که در پوشه LoginedUsers وجود داره دسترسی پیدا کنه با خطای زیر مواجه میشه :
Object reference not set to an instance of an object.

ghossein
چهارشنبه 27 اردیبهشت 1391, 12:04 عصر
خط if رو اینجوری بنویس یه امتحانش کن
this.Current.User.Identity.IsAuthenticated

fakhravari
چهارشنبه 27 اردیبهشت 1391, 12:16 عصر
if (this.Page.User.Identity.IsAuthenticated)

ghossein
چهارشنبه 27 اردیبهشت 1391, 12:30 عصر
بله درستش همون صورتی که آقایfakhravari گفتن

موفق باشید

raika17metal
چهارشنبه 27 اردیبهشت 1391, 12:42 عصر
امتحان کردم مشکل کماکان پابرجاست

fakhravari
چهارشنبه 27 اردیبهشت 1391, 13:28 عصر
ببین توی پوشه LoginedUsers کد کنفیگ بزار که rols کاربران دادی.

hamid_kha
چهارشنبه 27 اردیبهشت 1391, 15:00 عصر
دوست عزیز توی Web.config مربوط به پوشه ات که LoginedUsers هست باید این کدها رو براش بنویسی

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