diff --git a/code/org.eclipse.scout.docs.snippets/src/main/java/org/eclipse/scout/docs/snippets/AccessSnippet.java b/code/org.eclipse.scout.docs.snippets/src/main/java/org/eclipse/scout/docs/snippets/AccessSnippet.java index 1cb2e04b56..9771b1810e 100644 --- a/code/org.eclipse.scout.docs.snippets/src/main/java/org/eclipse/scout/docs/snippets/AccessSnippet.java +++ b/code/org.eclipse.scout.docs.snippets/src/main/java/org/eclipse/scout/docs/snippets/AccessSnippet.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2024 BSI Business Systems Integration AG + * Copyright (c) 2010, 2026 BSI Business Systems Integration AG * * This program and the accompanying materials are made * available under the terms of the Eclipse Public License 2.0 @@ -22,7 +22,6 @@ public class AccessSnippet { - //tag::ReadCompanyPermission[] public static class ReadCompanyPermission extends AbstractPermission { @Serial @@ -55,11 +54,15 @@ public String getAccessCheckFailedMessage() { protected void snippets() { //tag::ACCESS_A[] - if (ACCESS.check(new ReadCompanyPermission())) { // <1> - throw new AccessForbiddenException(TEXTS.get("YouAreNotAllowedToReadThisData")); + ReadCompanyPermission permission = new ReadCompanyPermission(); + if (!ACCESS.check(permission)) { // <1> + throw new AccessForbiddenException(TEXTS.get("YouAreNotAllowedToReadThisData")) + .withPermission(permission); } ACCESS.checkAndThrow(new ReadCompanyPermission()); // <2> + + ACCESS.checkAndThrow(new ReadCompanyPermission(), TEXTS.get("YouAreNotAllowedToReadThisData")); // <3> //end::ACCESS_A[] //tag::ACCESS_B[] @@ -142,6 +145,5 @@ else if (!m_companyId.equals(other.m_companyId)) { protected interface ICompanyService { boolean isOwnCompany(UUID companyId); - } } diff --git a/docs/modules/technical-guide/pages/common-concepts/security.adoc b/docs/modules/technical-guide/pages/common-concepts/security.adoc index 70ab8f1356..1265969ad6 100644 --- a/docs/modules/technical-guide/pages/common-concepts/security.adoc +++ b/docs/modules/technical-guide/pages/common-concepts/security.adoc @@ -189,6 +189,7 @@ include::common:example$org.eclipse.scout.docs.snippets/src/main/java/org/eclips ---- <1> Checks permission against granted permissions of current user. <2> Checks permission and if this check fails, throw an `AccessForbiddenException` with a default message. +<3> Checks permission and if this check fails, throw an `AccessForbiddenException` with a custom message. We can define a default access check failed message for a permission.