我有一个使用Razor Pages和内置身份验证的asp.net core 2.2应用程序。该应用程序在启动时非常安全。
.AddRazorPagesOptions(options =>
{
options.Conventions.AuthorizeFolder("/", CO.AdminUserRole);
})
..一切正常。 在应用程序内部,我有一些CRUD页面,其中有一个数据表网格。要编辑记录,请单击该行上的“编辑”按钮,然后我使用jquery从Web api控制器中提取该特定记录的详细信息。
一切正常。我唯一的问题是,我可以在没有经过授权的用户的情况下,将/ api / [object] / [id]输入Web浏览器并获取数据。
当然,我不想拥有另一个授权过程,因此我可以使用api。相反,我希望能够使用现有的剃刀页面授权状态来授权使用api。
可能吗?
答案 0 :(得分:0)
我通过使用剃刀页面上的简单json响应替换了webapi来解决了这一问题-使用此博客文章中的想法: https://www.mikesdotnetting.com/article/318/working-with-json-in-razor-pages
这为我提供了我需要的json输出,但也将其保护为标准的剃刀页面。