1
這裏是我的配置部分:混淆有關窗體身份驗證在ASP.NET MVC
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="43200" cookieless="UseCookies" slidingExpiration="true" />
</authentication>
現在在控制器中,我有:
FormsService.SignIn(userName, true);
var temp = User.Identity.IsAuthenticated;
的溫度值有時會被設置爲false,有時真正。當用戶是我自己時(在系統中有效)。無論我的aspx頁面中有這個值,我都有:
<% if (Context.User.Identity.IsAuthenticated)
{ %>
這總是解決爲真。那麼我在我的控制器中做錯了什麼?我如何檢查用戶是否在控制器中進行了身份驗證?
非常感謝!
謝謝!它做到了。我從來沒有猜到。 – Barka
@ user277498,原因如下:當您成功驗證用戶身份時,將身份驗證Cookie添加到「Response」對象。在隨後的請求中,這個cookie是由客戶端發送的,因此它在'Request'對象中。表單身份驗證模塊在Request對象中查找cookie,以瞭解用戶是否已通過身份驗證。 –