【发布时间】:2020-03-03 22:13:28
【问题描述】:
我正在尝试保护我的 blazor 客户端应用程序并已按照此处的说明进行操作 https://docs.microsoft.com/en-us/aspnet/core/security/blazor/?view=aspnetcore-3.0&tabs=visual-studio
让我困惑的是这个部分
public override Task<AuthenticationState> GetAuthenticationStateAsync()
{
var identity = new ClaimsIdentity(new[]
{
new Claim(ClaimTypes.Name, "mrfibuli"),
}, "Fake authentication type");
var user = new ClaimsPrincipal(identity);
return Task.FromResult(new AuthenticationState(user));
}
由于授权仅用于确定要显示哪些 UI 选项,并且用户可以修改或绕过客户端检查,因此 Blazor WebAssembly 应用无法强制执行授权访问规则。
所以如果我做对了,这就是有效的程序
- 用户通过页面/表单发送凭据
- api 返回一个令牌
- 令牌存储在本地
- 在 GetAuthenticationStateAsync 中实现了反向机制,其中令牌用于交换用户信息
【问题讨论】:
标签: blazor