如何解决Blazor服务器端授权
我一直在尝试在Server Side Blazor应用程序中实施授权,目前看来它正在运行,但是授权仅限于.razor
页和组件。
我似乎无法尝试获取[Authorize] Microsoft.AspNetCore.Authorization
属性以在我的基础服务中使用。
当前执行此操作的唯一方法是直接从HttpContextAccessor.HttpContext.User
女巫读取声明,该声明可以注入到基础服务中。
我也可以调用RevalidatingIdentityAuthenticationStateProvider。
我在Startup.cs中正确注册了以下设置
-
RevalidatingIdentityAuthenticationStateProvider<TUser>
-
app.UseAuthentication();
-
app.UseAuthorization();
在App.razor中连同CascadingAuthenticationState
和AuthorizeRouteView
这些功能正常运行,确实确实需要授权并限制访问。
我最大的问题是,我最初计划使用“前端”授权来驱动导航,但是限制了服务本身中的操作。
作为一个简短的说明,我使用个人用户帐户身份验证创建了一个新模板,它似乎也忽略了放在WeatherForecastService.cs中的所有[Authorize]标签
[Authorize]
public Task<WeatherForecast[]> GetForecastAsync(DateTime startDate)
{
** Boiler Plate Code **
}
关于解决此问题的任何建议,我也怀疑我可能是在树错了树,因为这是所有服务器端的,因此实际上并不需要对基础服务进行授权。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。