PDA

View Full Version : استفاده از membership و مشکل با redirect صفحه بعد از login در هنگام ورود یوزر به بخش مدیریت



ERIKA
یک شنبه 11 تیر 1391, 13:01 عصر
با سلام
من از membership خود asp.netاستفاده کردم .بعد به یوزر ها یک سری دسترسی ها را دادم .توی وب کانفیک هم تنظیم کردم و اسم صفحات را اوردم .
حال وقت من لاگین میکنم میخاهم به صورت پیش فرض redirectکنم روی یک صفحه خاص (default.aspx).یوزر لاگین میکنه ولی به اون صفحه redirectنمیشود.
چیزی که در ادرس بار میاره اینه
http://XXXX.com/Login.aspx?ReturnUrl=%2fmainadmin

در واقع کد destinationpageurl="default.aspx" کار نمیکنه.؟؟؟؟؟؟
ولی اگر دستی بنویسم http://XXXX.com/default.aspx وارد میشود.
کد صفحه لاگین به این صورت:



<div style="vertical-align: top; width: 632px; height: 72px; text-align: center">

<div id="DIV1" style="vertical-align: top; width: 224px; height: 72px; text-align: right">
<asp:login id="Login1" runat="server" backcolor="#EFF3FB" bordercolor="#B5C7DE" borderpadding="4"
borderstyle="Solid" borderwidth="1px" destinationpageurl="default.aspx" failuretext="شما نمی توانید وارد شوید ، دوباره تلاش کنید"
font-names="Verdana" font-size="0.8em" forecolor="#333333" height="112px" loginbuttontext="ورود به سایت"
passwordlabeltext="کلمه عبور :" passwordrequirederrormessage="کلمه عبور را وارد کنید"
remembermetext="مرا به خاطر بسپار" titletext="ورود به سایت" usernamelabeltext="نام کاربری :"
usernamerequirederrormessage="نام کاربری را وارد کنید" width="216px"
onauthenticate="Login1_Authenticate">
<TitleTextStyle BackColor="#507CD1" Font-Bold="True" Font-Size="0.9em" ForeColor="White" />
<InstructionTextStyle Font-Italic="True" ForeColor="Black" />
<TextBoxStyle Font-Size="0.8em" />
<LoginButtonStyle BackColor="White" BorderColor="#507CD1" BorderStyle="Solid" BorderWidth="1px"
Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284E98" />
</asp:login>
</div>
<asp:LoginName ID="LoginName1" runat="server" />
</div>





اینم وب کانفیگ ام


<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings/>
<connectionStrings/>
<system.web>

<authorization>
<allow roles="User,Administrator" />
<deny users="*" />
</authorization>

</system.web>


<location path="Default.aspx">
<system.web>
<authorization>
<allow roles="Default,Administrator" />
<deny users="*" />
</authorization>
</system.web>
</location>


<location path="Main.aspx">
<system.web>
<authorization>
<allow roles="Main,Administrator" />
<deny users="*" />
</authorization>
</system.web>
</location>




<location path="fileman.aspx">
<system.web>
<authorization>
<allow roles="Fileman,Administrator" />
<deny users="*" />
</authorization>
</system.web>
</location>


<location path="addnews.aspx">
<system.web>
<authorization>
<allow roles="AddNews,Administrator" />
<deny users="*" />
</authorization>

</system.web>
</location>

<location path="news2.aspx">
<system.web>
<authorization>
<allow roles="ViewAllNews,Administrator" />
<deny users="*" />
</authorization>
</system.web>
</location>

<location path="newsc.aspx">
<system.web>
<authorization>
<allow roles="NewsComment,Administrator" />
<deny users="*" />
</authorization>
</system.web>
</location>

<location path="MemberShip.aspx">
<system.web>
<authorization>
<allow roles="Administrator" />
<allow users="*" />
</authorization>
</system.web>
</location>

<location path="newscat.aspx">
<system.web>
<authorization>
<allow roles="newscat,Administrator" />
<allow users="*" />
</authorization>
</system.web>
</location>

<location path="Editnews.aspx">
<system.web>
<authorization>
<allow roles="Editnews,Administrator" />
<deny users="*" />
</authorization>
</system.web>
</location>

<location path="ads.aspx">
<system.web>
<authorization>
<allow roles="advert,Administrator" />
<deny users="*" />
</authorization>
</system.web>
</location>

</configuration>



این موضوع فقط در مورد یوزر ها اتفاق می افند ولی اگر طرف administratorباشه مشکلی ندارد.
یک مورد دیگه هم که داره من هیچ دسترسی به خود صفحه ممبر شیب را ندادم و نمیخواهم یوزر هام به این صفحه دسترسی داشته باشند ولی دسترسی این صفحه به یوزر داده شده است .بدون این که من اینرا به یوزر داده باشم.حتی تو وب کانفیگ همتعریف نکردم..چطور میتونم این را محدود کنم.

ممنون میشم راه حل بدید .....

fakhravari
یک شنبه 11 تیر 1391, 18:56 عصر
http://msdn.microsoft.com/en-us/library/aa480476.aspx
<system.web>
<authentication mode="Forms">
<forms loginUrl="Login.aspx"
protection="All"
timeout="30"
name=".ASPXAUTH"
path="/"
requireSSL="false"
slidingExpiration="true"
defaultUrl="default.aspx"
cookieless="UseDeviceProfile"
enableCrossAppRedirects="false" />
</authentication>
</system.web>

ERIKA
چهارشنبه 04 مرداد 1391, 23:26 عصر
جواب سوالم خودم مینویسم شاید به درد یک نفر بخوره
وقتی این کد را می نویسیم


<authorization>
<allow roles="User,Administrator" />
<deny users="*" />
</authorization>


در واقع کل دسترسی های ها را میبندیم .که شمامل دسترسی به فولدر ها هم میشود.
بعد در زیر ان یک سری تبصره ایجاد کر ده ایم و دسترسی به پیج ها میدهیم ولی در کل دسترسی به فولدر بسته شده ایم بنابراین اگر بخواهیم این کار را انجام بدهیم این را نباید میبستم
deny users="*" باید allowمیکردم
در مورد سوال دوم هم بی دقتی کردم ...ممبر شیب توی کد ها دسترسی هاشا allow دادم.