使用 ADFS 阻止匿名文件夹访问

Block anonymous folder access with ADFS

用户通过 ADFS 授权 .net mvc web 应用程序。但是一些特殊的文件夹是未经授权就可以访问的。

防止未经授权访问这些文件夹(例如 /bundles)的最佳方法是什么?

是否可以在web.config中配置或者是IIS配置?

根据您的描述,建议您尝试设置特殊文件夹的认证设置。此设置仅适用于该文件夹。然后我们可以禁用该文件夹的匿名身份验证。

更多详情,您可以参考以下步骤:

1.Open IIS 管理控制台和 select 文件夹。

2.Disable匿名认证。

如果您使用 OWIN 中间件配置 ADFS 身份验证,则可以使用以下代码保护所有匿名请求:

app.Use((context, cont) =>
            {
                if ((context.Authentication.User != null) && (context.Authentication.User.Identity != null) && (context.Authentication.User.Identity.IsAuthenticated))
                {
                    return cont();
                }
                else
                {
                    var provider = "ADFS Server";
                    context.Authentication.Challenge(new AuthenticationProperties
                    {
                        RedirectUri = "https://youapp-url/"
                    }, provider);
                    return Task.Delay(0);
                }
            });

其中应用程序属于 IAppBuilder 类型,提供者是 AuthenticationType