簡體   English   中英

渲染默認視圖后,AspNet MVC使我彈回登錄

[英]AspNet MVC bounces me back to login AFTER rendering default view

使用Aspnet身份(SignInStatus.Success)成功登錄后,MVC會遍歷默認操作和視圖的整個代碼,但隨后神秘地將我彈回登錄頁面。

奇怪的是,這僅在我的一個用戶角色中發生。 我有兩個角色, admineditor 管理員工作正常。 編輯曾用於工作。

這是我的默認查看授權代碼..​​.

[Authorize(Roles = "Admin, Editor")]
public ActionResult Index()
{ ...

如果有人能提出問題可能是什么,或者我如何調試它,那將不勝感激。 我撞到了磚牆。 調試器直接在布局中Razor的最后一行上的操作代碼,視圖代碼和布局代碼中正確執行步驟,即

@RenderSection("Scripts", required: false) 

我已經在兩種不同的瀏覽器上進行過嘗試。 我認為這可能與防偽令牌有關。 我確實收到了以下消息……“提供的防偽令牌是針對與當前用戶不同的基於索賠的用戶的”。

但是我認為這只是調試期間如此多次登錄嘗試的故障。

我正在運行... VS 2015 .NET Framework 4.5.2 Microsoft.AspNet.Identity.Core,Microsoft.AspNet.Identity.EntityFramework,Microsoft.AspNet.Identity.Owin所有版本2.2.1

任何幫助將非常感激。

即使控制器和視圖授權了“ 編輯者”角色,我的布局仍在使用

@Html.Action(...

那個控制器有

[Authorize(Roles = "Admin")]

高於其類定義。

因此,DotNet決定(即使它已繼續遍歷整個視圖和布局的呈現代碼)仍反彈回登錄頁面。

感謝@MarkHomer。 他的評論使我有了尋找這個想法的想法。

通過將[Authorize(Roles =“ Admin,Editor”)]放在類定義上方,然后為僅需要管理員訪問權限的單個操作設置[Authorize(Roles =“ Admin”)],即可解決此問題。

成功登錄后,您必須將用戶重定向到RedirectURL。 您是否檢查過登錄用戶在此重定向期間或到達重定向URL后是否仍然存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM