سوالات متداول :
- صفحه ای به نام home.aspx و صفحه ای به نام members.aspx دارم میخوام وقتی صفحه home رو فراخاونی میکنم به صفحه لوگین نره ولی وقتی صفحه members رو فراخوانی کردم بره به صفحه لوگین بعد وارد این صفحه شه چی کار باید انجام بدم ؟
جواب : فایل وب کانفیگ رو به صورت زیر تغغیر بدید
<?xmlversion="1.0"?>
<configuration>
<system.web>
<customErrorsmode="Off"/>
<authenticationmode="Forms">
<formsname="MyAppCookie"loginUrl="login.aspx"protection="All"timeout="30"defaultUrl="default.aspx" >
<credentialspasswordFormat="Clear">
</credentials>
</forms>
</authentication>
<!--
<authorization>
<deny users="?"/>
</authorization>
-->
<sessionStatemode="InProc"stateConnectionString="tcpip=127.0.0.1:42424"sqlConnectionString="data source=127.0.0.1;user id=sa;password="cookieless="false"timeout="20"/>
<globalizationrequestEncoding="utf-8"responseEncoding="utf-8"/>
<compilation>
<assemblies>
<addassembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
</compilation>
</system.web>
<locationpath="home.aspx">
<system.web>
<authorization>
<allowusers="*"/>
</authorization>
</system.web>
</location>
<locationpath="members.aspx">
<system.web>
<authorization>
<denyusers="?"/>
</authorization>
</system.web>
</location>
</configuration>
- می خواهم بعد از تصدیق هویت نام کاربری رو در صفحه default در بیارم و یک پیام خوش آمد بدم چی کار کنم ؟
جواب : توسط متد زیر نام کاربری فرد لوگین شده رو بدست آورید :
User.Identity.Name.ToString
- در صفحه ای که دارم از کجا بفهمم که کاربر لوگین کرده یا نه؟
جواب : توسط متد زیر میتونید بفهمید که کاربر لوگین شده یا خیر
If User.Identity.IsAuthenticated Then
'کاربر لوگین شده
Else
'کاربر لوگین نشده
End If
- وقتی کاربر لوگین میکنه داخل سایت حالا چطور signout کنه؟
در صفحه مثلا default یک باتن به نام btn_signout قرار بدید و کد های زیر رو بنویسید
Protected Sub btn_signout_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_signout.Click
FormsAuthentication.SignOut()
FormsAuthentication.RedirectToLoginPage()
End Sub
- کاربر هر چند وفت که داخل سیستم هست بطور خود کار signout میشه نمیدونم چرا ؟
جواب : شما در فایل وب کانفیگ در خط زیر
<authenticationmode="Forms">
<formsname="MyAppCookie"loginUrl="login.aspx"protection="All"timeout="30"defaultUrl="default.aspx" >
<credentialspasswordFormat="Clear">
</credentials>
</forms>
</authentication>
مقدار timeout="30" قرار دادید اونو بیشترش کنید . مثلا
<authenticationmode="Forms">
<formsname="MyAppCookie"loginUrl="login.aspx"protection="All"timeout="100"defaultUrl="default.aspx" >
<credentialspasswordFormat="Clear">
</credentials>
</forms>
</authentication>