[英]AspNet MVC bounces me back to login AFTER rendering default view
使用Aspnet身份(SignInStatus.Success)成功登錄后,MVC會遍歷默認操作和視圖的整個代碼,但隨后神秘地將我彈回登錄頁面。
奇怪的是,這僅在我的一個用戶角色中發生。 我有兩個角色, admin和editor 。 管理員工作正常。 編輯曾用於工作。
這是我的默認查看授權代碼...
[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.