【问题标题】:Different authentication for different sub directories in ASP.NET Core 3.1 webappASP.NET Core 3.1 webapp中不同子目录的不同身份验证
【发布时间】:2021-01-15 17:04:14
【问题描述】:

是否有任何方法可以将 .NET core Razor Pages 应用程序配置为无需对根目录进行身份验证,对一个子目录进行基本 uid/密码身份验证,对不同的子目录进行 Azure B2C:

/
/basicauth
/aadb2c

我看到basic uid/password 的一个设置startup.cs 看起来像这样:

services.AddMvc().AddRazorPagesOptions(options => {
    options.Conventions.AuthorizeFolder("/admin");
}).SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

...在Azure b2c looks 中保护整个应用程序。从上面的服务配置来看,似乎只能使用一种类型的授权。对吗?

【问题讨论】:

  • 我相信,身份验证是在根目录注入的,我认为那里只允许身份验证服务。希望您能从其他人那里得到更多的确认或矛盾。
  • 对于一个在不同文件夹上使用不同身份验证的 asp.net 应用程序,未开箱即用。可以在整个应用程序上支持多个身份验证,然后根据角色或身份限制对资源/文件夹的访问
  • 谢谢。如果您将此作为答案,我会检查它。
  • 同意PranavSingh,您可以在一个应用程序中使用多个身份验证,尝试使用不同的身份验证方案,然后在页面中,使用授权属性并分配方案,参考:Multiple authentication methods in asp.Net core 2.2,@987654324 @ 和 Use multiple authentication schemes.
  • 完成。你说服了我。如果您想将此放在答案中,我会将其标记为答案。

标签: asp.net-mvc asp.net-core


【解决方案1】:

正如 PranavSingh 所说:可以在整个应用程序上支持多个身份验证,然后根据角色或身份验证限制对资源/文件夹的访问

此外,您可以尝试使用不同的身份验证方案,然后在页面中使用[Authorize] 属性并分配方案,

参考:

Multiple authentication methods in asp.Net core 2.2,

ASP.NET Core: Supporting multiple Authorization

Use multiple authentication schemes.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-06
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    相关资源
    最近更新 更多