2015-05-30 39 views
4

登錄我想展示一些div在視圖只有當用戶已經登錄ASP.NET MVC FormsAuthentication檢查,如果用戶在

這就是我試圖做到這一點:

@{ 
    if (Request.IsAuthenticated) 
    // if (User.Identity.IsAuthenticated) 
    { 
     <div> 
      Some content only for logged in users. 
     </div> 
    } 
} 

Request.IsAuthenticated (和User.Identity.IsAuthenticated)是總是true,即使是在我從Visual Studio啓動網站之後的最初階段。顯然,它會得到作爲用戶登錄Windows(因爲User.Identity.Name返回我的Windows登錄),但我需要它來檢查用戶是否已通過FormsAuthentication在網站上進行身份驗證。

這是我的web.config:

<authentication mode="Forms"> 
    <forms loginUrl="/Account/Login" timeout="2880" /> 
</authentication> 

如何檢查,如果用戶已經通過FormsAuthentication登錄?

+0

現在我做到了這樣的:'如果(Request.Cookies時[FormsAuthentication.FormsCookieName]! = null)',但這似乎並不正確。 – retif

回答

6

如果你的意思是要檢查用戶是否登錄,我用的是以下幾點:

@if (User.Identity.IsAuthenticated) { /* content */} 
+0

不,嘗試過,它**總是**返回'true'。 – retif

+0

您使用個人用戶帳戶,組織或Windows身份驗證嗎? – Techy

+0

哪裏?在'web.config'中,只有''我在帖子中提到的行。 – retif

相關問題