ASP.NET Core MVC 全局設置用戶認證要求

在一些應用程序中,我們可能需要對所有請求都要求登錄的用戶才能訪問。我們不可能在所有的控制器中一一添加認證屬性。如何在一處設置就可以達到要求呢?

有以下兩種方法:

第一種是在添加授權服務的時候,設置一個授權策略,要求認證的用戶用才能訪問,具體如下

// 授權
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));

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章