2012-10-12 106 views
0

使用Forms身份驗證的ASP.Net 4.0應用程序,timeout =「1」。重定向頁面是Login.aspx。表單身份驗證登錄超時不起作用

只要我登錄到應用程序,我就會進入一個默認頁面(頁面A),如果我等待空閒1分鐘,然後嘗試訪問另一個頁面(頁面B),我被重新定向到正確的登錄頁面。

但是,只要我登錄,我訪問頁面B並等待空閒1分鐘,然後嘗試執行一些其他回發操作,我可以這樣做(因爲我應該被拋回到Login.aspx)

我在這裏錯過了什麼嗎?

+0

您確定您在等待整整1分鐘嗎?你可以嘗試在回發之前清除你的cookies,看看它是否有效? – CoderMarkus

+0

是的,我正在計時;你的意思是清除瀏覽器中的cookies? – user1012598

+0

是的。這將確保cookie被銷燬,並且在回發時您應該被重定向到登錄。你如何從頁面A到頁面B?回發後它是超鏈接還是重定向?如果是後者,他們的頁面B可能不在FA限制區域內(例如,在不受FA保護的不同文件夾中)。 – CoderMarkus

回答

3

確保所有必需的文件夾由FA管理...

<system.web> 
    <authentication mode="Forms"> 
     <forms name=".AUTH_COOKIE" loginUrl="~/login.aspx" protection="All" timeout="2880" requireSSL="false"/> 
    </authentication> 
</system.web> 

然後,只需在web.config的system.web元素後,如需要添加儘可能多的這些項安全文件夾(記住,離開了最初的斜槓 - 所有路徑都默認絕對值)...

<location path="securefolder"> 
    <system.web> 
     <authorization> 
      <deny users="?"/> 
      <allow users="*"/> 
     </authorization> 
    </system.web> 
</location> 

編輯:

請記住,安全文件夾的子文件夾默認保護 - 允許指定多個未嵌套的文件夾。

+0

這工作!非常感謝。 – user1012598