<?xml version="1.0" encoding="UTF-8"?>

<jaspi xmlns="http://geronimo.apache.org/xml/ns/geronimo-jaspi">
    <configProvider>
        <messageLayer>HTTP</messageLayer>
        <appContext>server /ctx</appContext>
        <description>description</description>
        <serverAuthConfig>
            <authenticationContextID>authenticationContextID1</authenticationContextID>
            <protected>true</protected>
            <serverAuthContext>
                <serverAuthModule>
                    <className>org.eclipse.jetty.security.jaspi.modules.BasicAuthModule</className>
                    <options>
                       org.eclipse.jetty.security.jaspi.modules.RealmName=TestRealm
                    </options>
                </serverAuthModule>
            </serverAuthContext>
        </serverAuthConfig>
        <persistent>true</persistent>
    </configProvider>
    <configProvider>
        <messageLayer>HTTP</messageLayer>
        <appContext>server /other</appContext>
        <description>description</description>
        <serverAuthConfig>
            <authenticationContextID>authenticationContextID2</authenticationContextID>
            <protected>true</protected>
            <serverAuthContext>
                <serverAuthModule>
                    <className>org.eclipse.jetty.security.jaspi.HttpHeaderAuthModule</className>
                    <options>
                    </options>
                </serverAuthModule>
            </serverAuthContext>
        </serverAuthConfig>
        <persistent>true</persistent>
    </configProvider>
</jaspi>
