我正在使用asp.net核心网络应用程序,我想限制只登录@ domain.com这样的特定域名,我跟着这个视频涉及的几个步骤https://www.youtube.com/watch?v=eCQdo5Njeew用于谷歌外部认证,这是旧版本,我遵循了这个文档https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/google-logins?tabs=aspnetcore2x oauth正在运行,但我想限制对特定域的访问,如何做到这一点?
1 回答
从OAuth登录时限制域名不够可靠 . 我建议您按照Tackle more complex security policies for your ASP.NET Core app中的说明创建自定义安全策略 .
首先,您需要一个要求:
然后,您需要一个处理器来满足此要求:
有了这些,您可以在
Startup.cs
中添加新的授权策略,以便ASP.NET Core知道它:最后,在控制器操作上添加
[Authorize]
时,可以参考此策略:如果要全局应用此策略,另请参阅How to add global AuthorizeFilter or AuthorizeAttribute in ASP.NET Core? .