如何允许用户仅查看/编辑/删除他们自己创建的记录?

时间:2017-01-05 11:35:50

标签: powerapps

使用MS PowerApps我怎样才能创建记录,但只能查看/编辑/删除他们自己创建的记录,我看不到其他用户创建的任何记录。

此外,这可以基于群组吗?那么属于同一组的两个用户可以查看/编辑/删除同一组中用户创建的记录吗?

没有很多关于此的文档,我发现的唯一文档指定了用户对实体的访问权限,但我需要更细粒度的访问权限。

3 个答案:

答案 0 :(得分:0)

今天不支持。我们正在考虑这样的场景。请将您的请求添加到https://aka.ms/powerapps-ideas

根据您使用的后端,您可以通过确保后端返回属于当前用户的行来解决此限制,并在用户没有权限时拒绝编辑。但是,这可能非常复杂,并且不适用于SharePoint等服务。

答案 1 :(得分:0)

我创建了一个使用SharePoint作为数据源的假期应用程序,并允许用户创建休假请求,但只能查看他们创建的\编辑待处理请求以及他们的直接报告请求。它的创建方式:

  1. 主页上有带有视图标签的按钮:新请求,我的请求和&直接报告请求

  2. 每个按钮执行两个操作:1。为选择设置可变数值。 2导航以查看列表视图

  3. 列表页面的元素会根据变量值进行更改:排序过滤器:"If(variable=1,SortByColumns(Filter(VacationRequests, Author.DisplayName = User().FullName),"ID", If(SortDescending1, Descending, Ascending)), variable=2,SortByColumns(Filter(VacationRequests, Vacation_x0020_Request_x0020_Sta = "approve"),"ID", If(SortDescending1, Descending, Ascending)), variable=3,SortByColumns(Filter(VacationRequests, Approving_x0020_Manager.DisplayName = User().FullName),"ID", If(SortDescending1, Descending, Ascending)))"

  4. 基于值的标签更改:

    "If(variable=1,"My Requests",variable=2,"Approved Vacations",variable=3,"Direct Reports")"; background fill color of top rectangle also change based on values: "If(variable=1,RGBA(246, 88, 16, 1),variable=2,RGBA(99, 139, 44, 1),variable=3,RGBA(0, 121, 187, 1))";

    最终结果是用户只能查看\ edit \ delete中他们可以看到的views \ filters中的项目。

答案 2 :(得分:0)

它不依赖于您的数据源吗?我正在使用SharePoint列表,并且我已成功将BrowseGallery过滤器更改为仅显示当前用户创建的列表项。

  1. Screen.OnVisible = UpdateContext({UserEmail:User()。Email})
  2. 然后我更改了BrowseGallery.Items以包含 Author.Email = UserEmail 的过滤器(是的,我们必须使用Author而不是CreatedBy)