class AuthPermissionsTag extends AbstractElementTagProcessor {

    public AuthPermissionsTag(String dialectPrefix) {
        super(TemplateMode.HTML, dialectPrefix, AuthConstants.TAG_permissions, true, null, false, 100);
    }

    @Override
    protected void doProcess(ITemplateContext context, IProcessableElementTag tag, IElementTagStructureHandler structureHandler) {<FILL_FUNCTION_BODY>}
}

        String nameStr = tag.getAttributeValue(AuthConstants.ATTR_name);
        String logicalStr = tag.getAttributeValue(AuthConstants.ATTR_logical);

        if (Utils.isEmpty(nameStr)) {
            return;
        }

        String[] names = nameStr.split(",");

        if (names.length == 0) {
            return;
        }

        if (AuthUtil.verifyPermissions(names, Logical.of(logicalStr)) == false) {
            structureHandler.setBody("", false);
        }
    
<methods>public void <init>(org.thymeleaf.templatemode.TemplateMode, java.lang.String, java.lang.String, boolean, java.lang.String, boolean, int) ,public final org.thymeleaf.processor.element.MatchingAttributeName getMatchingAttributeName() ,public final org.thymeleaf.processor.element.MatchingElementName getMatchingElementName() ,public final void process(org.thymeleaf.context.ITemplateContext, org.thymeleaf.model.IProcessableElementTag, org.thymeleaf.processor.element.IElementTagStructureHandler) <variables>private final java.lang.String dialectPrefix,private final org.thymeleaf.processor.element.MatchingAttributeName matchingAttributeName,private final org.thymeleaf.processor.element.MatchingElementName matchingElementName