1
我在dotnet核心中使用自定義授權過濾器,但我注意到一個特點。自定義授權篩選器獲取重複身份ReExecute
OnAuthorization
方法有一個上下文來保存登錄用戶的身份,這在我的用例中應該是一個。這在我的應用程序中工作正常,但是我然後使用app.UseStatusCodePagesWithReExecute(...);
或app.UseExceptionHandler(...);
配置錯誤頁面,並且每當觸發這些頁面時,即發生錯誤,然後在OnAuthorization
內上下文具有重複的身份。
我不確定這是否是dotnet內核中的錯誤,或者有一些設置沒有正確配置。添加的第二個標識看起來與我期望的相同。
Startup.cs:
services.AddMvc(options =>
{
// identifies users on POP Forums actions
options.Filters.Add(typeof(MyAttribute));
});
MyAttribute.cs:
public void OnAuthorization(AuthorizationFilterContext context)
{
var claimsCount = context.HttpContext.User.Identities.Count();
if (claimsCount > 1)
{
var oops = "Something went wrong";
}
...
}