1
我從客戶端發送令牌到服務器令牌認證在Asp.net核心使用策略庫/ 5
「授權:承載eyJhbGciOiJodHR ......」
我想對用戶進行授權誰有代幣 這裏是我的代碼。
services.AddAuthorization(auth =>
{
auth.AddPolicy("Have", new AuthorizationPolicyBuilder()
.AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme)
.RequireAuthenticatedUser().Build());
});
services.AddMvc(config =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
config.Filters.Add(new AuthorizeFilter(policy));
});
app.UseJwtBearerAuthentication(options =>
{
options.AutomaticAuthenticate = false;
});
即使我把AutomaticAuthenticate我得到500錯誤,如果爲假,則401錯誤
[Authorize(Policy ="Have")]
[HttpGet]
[Route("list")]
public IEnumerable<Products> List()
{
.......
}
那麼我不想讓不擁有令牌的用戶。 如果我刪除了授權屬性,我將允許用戶訪問。但我不希望沒有提交令牌的用戶 –
沒有令牌(或過期的)的用戶根據定義未經授權。這是'Authorize'的標準行爲,爲什麼你需要一個自定義策略呢?也許澄清你的問題 – Tseng
我糾正了我的問題。 –