【发布时间】:2021-10-12 16:53:41
【问题描述】:
app.Use((context, next) => {
// Ignore requests that don't point to static files.
if (context.Request.Path.StartsWithSegments("/Cvler"))
{
if (context.User.Identities.Any(identity => identity.HasClaim("pozisyon", "admin")))
{
return next();
}
context.Response.StatusCode = 401;
return Task.FromResult(0);
}
return next();
// Stop processing the request and return a 401 response.
});
大家好,我想对除管理员之外的所有人隐藏 CV 文件夹,而开发模式下它在发布中间件后工作不起作用,每个人都可以看到文件夹
【问题讨论】:
-
我通常在应用程序中创建一个通用的错误处理程序中间件。所以我通常可以抛出异常并在错误中间件中捕获它并以有效状态响应用户。另外,请仔细检查您的应用程序中没有使用静态文件中间件,可能它与您的中间件冲突。
-
@AndreyRavkov 谢谢你的回答,目前只有一个用户是管理员,而且我使用 app.usestaticfiles 来缓存 jpeg 等。我应该在哪里保留 cv 文件夹以将其隐藏在普通用户面前跨度>
-
所以,我建议从你的中间件中抛出未经授权的异常,然后在 err 中间件中处理它
标签: c# .net middleware netcoreapp3.1