HuanMengAdmin/admin-server/MiaoYu.Api.Admin/wwwroot/docs/assets/data.html-0f889ade.js
2024-07-18 02:27:50 +08:00

8 lines
4.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{_ as n,o as a,c as s,a as e}from"./app-4f4af2d5.js";const t="/docs/hzy-admin/permission/data-1.jpg",o="/docs/hzy-admin/permission/data-2.jpg",p={},c=e('<h1 id="数据权限" tabindex="-1"><a class="header-anchor" href="#数据权限" aria-hidden="true">#</a> 数据权限</h1><p><img src="'+t+'" alt="数据权限"></p><h2 id="_1、数据权限方式一" tabindex="-1"><a class="header-anchor" href="#_1、数据权限方式一" aria-hidden="true">#</a> 1、数据权限方式一</h2><blockquote><p>此方式适合多表查询时筛选。</p></blockquote><div class="custom-container tip"><p class="custom-container-title">我们需要关心以下几点</p><p>1、界面角色管理 点击数据权限,配置好对应角色需要的数据权限</p><p>2、编写linq组合查询时需要 select new { _CreatorUserId = w.CreatorUserId ,_OrganizationId = w.OrganizationId } 返回 数据所属人的 CreatorUserId ,和数据所属组织的 OrganizationId</p><p>3、通过 awaitthis._defaultRepository.AsPagingViewAsync(query, page, size, null, accountInfo, w=&gt;w._CreatorUserId, w=&gt;w._OrganizationId); 依次函数传入 参数5、 参数6、 参数7 即可实现权限筛选</p></div><p><img src="'+o+`" alt="数据权限方式一"></p><h2 id="_2、数据权限方式二" tabindex="-1"><a class="header-anchor" href="#_2、数据权限方式二" aria-hidden="true">#</a> 2、数据权限方式二</h2><blockquote><p>此方式适合单表查询时筛选CreatorUserId、CreationTime这两个字段是不需要自己手动填充在插入数据时自动填充</p></blockquote><div class="custom-container tip"><p class="custom-container-title">这里举例有一个 Member 表 需要注意一下几点</p><p>1、界面角色管理 点击数据权限,配置好对应角色需要的数据权限</p><p><code>2、创建 Memeber 实体需要继承 CreateBaseEntity&lt;TKey&gt; 创建相关的父类 并且Member数据库表必须要有 CreatorUserId、CreationTime</code></p><p><code>3、我们可以在查询时调用 _defaultRepository.DataPermission(accountInfo,_sysUserRepository);</code></p><pre><code>入参1当前登录用户信息 可实现结果得筛选
入参2_sysUserRepository用户仓储注入
</code></pre></div><div class="custom-container warning"><p class="custom-container-title">参数入口</p><div class="language-csharp line-numbers-mode" data-ext="cs"><pre class="language-csharp"><code>
<span class="token return-type class-name">IQueryable<span class="token punctuation">&lt;</span>TModel<span class="token punctuation">&gt;</span></span> <span class="token generic-method"><span class="token function">DataPermission</span><span class="token generic class-name"><span class="token punctuation">&lt;</span>TModel<span class="token punctuation">&gt;</span></span></span><span class="token punctuation">(</span><span class="token class-name">IQueryable<span class="token punctuation">&lt;</span>TModel<span class="token punctuation">&gt;</span></span> query<span class="token punctuation">,</span> <span class="token class-name">AccountInfo</span> accountInfo<span class="token punctuation">,</span> <span class="token class-name">Expression<span class="token punctuation">&lt;</span>Func<span class="token punctuation">&lt;</span>TModel<span class="token punctuation">,</span> <span class="token keyword">object</span><span class="token punctuation">&gt;</span><span class="token punctuation">&gt;</span></span> userIdFieldNameExpression <span class="token operator">=</span> <span class="token keyword">null</span><span class="token punctuation">,</span> <span class="token class-name">Expression<span class="token punctuation">&lt;</span>Func<span class="token punctuation">&lt;</span>TModel<span class="token punctuation">,</span> <span class="token keyword">object</span><span class="token punctuation">&gt;</span><span class="token punctuation">&gt;</span></span> organizationIdFieldNameExpression <span class="token operator">=</span> <span class="token keyword">null</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>query查询表达式</p><p>accountInfo当前登录用户信息</p><p>userIdFieldNameExpression数据创建者Id</p><p>organizationIdFieldNameExpression数据创建者所属组织Id</p></div>`,10),i=[c];function r(l,u){return a(),s("div",null,i)}const k=n(p,[["render",r],["__file","data.html.vue"]]);export{k as default};