在一些應用程序中,我們可能需要對所有請求都要求登錄的用戶才能訪問。我們不可能在所有的控制器中一一添加認證屬性。如何在一處設置就可以達到要求呢?
有以下兩種方法:
第一種是在添加授權服務的時候,設置一個授權策略,要求認證的用戶用才能訪問,具體如下
// 授權 services.AddAuthorization(options => { // Fallback authentication policy // 設置授權策略,要求認證的用戶 options.FallbackPolicy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build(); });
第二種方法是在添加 MVC 服務時設置過濾器:
var policy = new AuthorizationPolicyBuilder() .RequireAuthenticatedUser() .Build(); config.Filters.Add(new AuthorizeFilter(policy));