我正在使用 IT HIT WebDAV 引擎和 .net 5 为基于数据库的 ECM 系统开发 WebDAV 连接。
我已将 WebDAV 映射到资源管理器中的网络驱动器。
当我在资源管理器中列出所有驱动器时,WebDAV 驱动器的总大小和可用空间错误地显示与 C 驱动器相同的值。
据我所知,WebDAV 服务器发送回资源管理器 (Microsoft-WebDAV-MiniRedir/10.0.19042) 的响应根本不包含有关总大小或可用空间的任何信息。是否可以在 WebDAV 响应中发送此数据(是否有任何特殊属性)?或者是否有可能让资源管理器显示,如果不是正确的值,那么根本没有值?
我正在为我们的 ECM 开发一个基于 IT HIT WebDAV 引擎和 ASP.NET Core 5 的 WebDAV 界面
。WebDAV 服务器应该支持基本和 Windows 身份验证。
在标准身份验证中间件之后,我调用另一个自定义中间件来进行进一步检查:
Startup.cs:
public void Configure(IApplicationBuilder app)
{
...
app.UseAuthentication();
app.UseMySpecialAuthenticationValidator();
...
}
Run Code Online (Sandbox Code Playgroud)
MySpecialAuthenticationValidator 具有以下 InvokeAsync 方法:
public async Task InvokeAsync(HttpContext context)
{
if (!context.Request.Headers.ContainsKey(HeaderNames.Authorization))
{
Logger.LogDebug("Unauthorized access - challenge");
await context.ChallengeAsync();
return;
}
else
{
// if sending a request with Postman using Basic auth, IsAuthenticated is true
// if sending a request from my integration test using Basic auth, IsAuthenticated is false …Run Code Online (Sandbox Code Playgroud)