ZCML File
configure.zcml

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:browser="http://namespaces.zope.org/browser"
    >
<class
    class=".PluggableAuthentication"
    >
<require
    permission="zope.ManageSite"
    interface=".interfaces.IPluggableAuthentication"
    />
</class>
<subscriber
    handler=".PluggableAuthenticationAddSubscriber"
    for="
       .interfaces.IPluggableAuthentication
       zope.app.container.interfaces.IObjectAddedEvent
       "

    />
<class
    class=".BTreePrincipalSource"
    >
<require
    permission="zope.ManageSite"
    interface="        "
    />
<allow
    interface=".interfaces.IPrincipalSource"
    />
</class>
<class
    class=".SimplePrincipal"
    >
<allow
    interface=".interfaces.IUserSchemafied"
    />
<require
    permission="zope.ManageSite"
    set_schema=".interfaces.IUserSchemafied"
    />
</class>
<browser:view
    class="zope.app.pluggableauth.PrincipalAuthenticationView"
    permission="zope.Public"
    for=".interfaces.ILoginPasswordPrincipalSource"
    name="login"
    />
<include
    package=".browser"
    />
</configure>