静的リソース
コンテンツアセットファイル
SVG リソース
表示ラベル
国際化
現在のユーザ ID
現在のコミュニティ
権限
クライアントのフォーム要素
モバイル対応のコンポーネント
範囲設定されたモジュール @salesforce/userPermission および @salesforce/customPermission から Salesforce 権限をインポートします。コンテキストユーザの権限に基づいて、コンポーネントの動作をカスタマイズします。
lwc-recipes リポジトリで miscPermissionBasedUI レシピを参照してください。
Tip
ユーザが権限を持っているかどうかを確認するには、権限に対する静的参照をインポートして、true または undefined のどちらであるかを確認します。
1import hasPermission from "@salesforce/userPermission/PermissionName";カスタム権限には名前空間が含まれる場合もあります。組織では、独自のカスタマイズとパッケージの一意の識別子として名前空間を使用します。カスタム権限が管理パッケージからインストールされた場合は、権限名の前に名前空間名と __ を付けます。
1import hasPermission from "@salesforce/customPermission/PermissionName";
2import hasPermission from "@salesforce/customPermission/namespace__PermissionName";静的参照の名前は自由に決めてください。ここでは、参照がブール値を持つことを示すために has{Permission} という形式を使用します。
次のサンプルは、現在のユーザが ViewSetup 標準権限を持っているかどうかを確認します。
1// app.js
2import { LightningElement } from 'lwc';
3import hasViewSetup from '@salesforce/userPermission/ViewSetup';
4
5export default class App extends LightingElement {
6 get isSetupEnabled() {
7 return hasViewSetup;
8 }
9
10 openSetup(e) {...}
11}ユーザがこの権限を持っていれば、コンポーネントはボタンを有効化します。
1<!-- app.html -->
2<template>
3 <setup-panel-group>
4 <setup-button disabled={isSetupEnabled} onclick={openSetup}></setup-button>
5 </setup-panel-group>
6</template>次のサンプルは、現在のユーザが、管理パッケージからインストールされ、acme という名前空間を持つ ViewReport カスタム権限を持っているかどうかを確認します。
1// app.js
2import { LightningElement } from "lwc";
3import hasViewReport from "@salesforce/customPermission/acme__ViewReport";
4
5export default class App extends LightingElement {
6 get isReportVisible() {
7 return hasViewReport;
8 }
9}ユーザがこの権限を持っていれば、コンポーネントは expense-report コンポーネントを表示します。
1<!--– app.html -->
2<template>
3 <common-view></common-view>
4
5 <template lwc:if={isReportVisible}>
6 <c-expense-report></c-expense-report>
7 </template>
8</template>親 Aura コンポーネントが権限を動的に参照している場合、Lightning Web コンポーネントの静的参照に置き換えます。静的参照は、ネットワークコールが必要ないため、より効率的です。
Tip
関連トピック
The Japanese Summer '24 guide is now live