防止已登录用户编辑不属于他的数据

时间:2018-03-24 21:24:34

标签: oauth owin umbraco umbraco7

我在Umbraco 7网站上有会员。每个成员都可以登录前端站点并编辑只有成员可以编辑的页面。我使用UmbracoIdentity来管理会员。 我的会员文档类型上有自定义属性页面(MNTP),用于指定成员可以编辑的页面。在用户个人资料页面上,我会显示一个列表,其中包含要从此自定义属性进行编辑的可能页面,如下所示:

 var pages = profileModel.MemberProperties.FirstOrDefault(p => p.Alias == "pages").Value;
foreach (var item in pages.Split(','))
{
    DetailsPage obj = Umbraco.TypedContent(item) as DetailsPage;
    <a href="/edit-page?pageId=@obj.Id">@obj.H1Title</a> 
 }

当会员点击该链接时(domain.com/edit-page?pageId=3242),我有操作方法来加载该页面的数据:

@Html.Action("GetPageDetails", "Edit", new { id = pageId })

我想要阻止的是成员更改pageId查询字符串manualy和他的自定义属性Pages不包含此pageId将他重定向到用户个人资料页面,其中列表包含他允许的页面。  我需要知道如何限制登录成员只编辑属性页面中分配的页面。 我已成功在Claims中添加了页面ID,我可以在每种方法中执行检查。但我的方法很多。是否有一些最佳实践或解决方案不需要覆盖所有方法。

由于

0 个答案:

没有答案