3

コンポーネントを開発し、アクセス許可を表示するための ACL を追加しましたが、すべてがうまく機能します。唯一の問題は、デフォルトでコンポーネントをインストールすると、ビューに「継承された」アクセス許可が使用され、何らかの理由で拒否され、コンポーネントをインストールするたびに最初に許可を「許可」に変更する必要があるため、他のすべてのものと同じように許可のデフォルト値を設定する方法があるかどうかを尋ねたかったのですか? ある場合、構文は正確には何ですか?ありがとう

PS: このリンクを読んでも問題が解決しないので、このリンクを提供しないでください。

以下は私の config.xml アクセス許可コードです

<fieldset name="permissions" label="JCONFIG_PERMISSIONS_LABEL" description="JCONFIG_PERMISSIONS_DESC">
        <field name="rules" type="rules" label="JCONFIG_PERMISSIONS_LABEL" filter="rules" component="com_name" section="component">
            <action name="core.view" title="View" description="View" />
        </field>
    </fieldset>
4

1 に答える 1

1

コンポーネントのインストール中に、#__assetsテーブル内の権限ルールを更新する必要があります。

デフォルトで Manager や Author などの特定のグループにフル アクセスを許可する必要がある場合は、

では、この表install.yourcomponent.phpのような独自のクエリを作成する必要があります。update #__assets

#__assetsテーブルには、rulesすべての権限値を格納するフィールドがあるため、ここで値を使用してテーブルを更新する必要があります。

例えば:

update #__assets setルール='{"core.manage":{"6":1},"core.configuration":{"6":1,"7":1,"8":1},"core.admin":[],"core.create":[],"core.delete":[],"core.edit":{"8":1},"core.edit.state":{"8":1}}' where name ='com_yourcomponent' and title='yourcomponent title'

于 2012-09-07T07:22:57.230 に答える