This setup will enable you to authenticate a user via spnego into your 
webapp.

To run with spengo enabled the following command line options are required:

-Djava.security.krb5.conf=/path/to/jetty/etc/krb5.ini
-Djava.security.auth.login.config=/path/to/jetty/etc/spnego.conf 
-Djavax.security.auth.useSubjectCredsOnly=false

The easiest place to put these lines are in the start.ini file.

For debugging the spengo authentication the following options are helpful:

-Dorg.eclipse.jetty.LEVEL=debug
-Dsun.security.spnego.debug=true


Spengo Authentication is enabled in the webapp with the following setup.

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Secure Area</web-resource-name>
      <url-pattern>/secure/me/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>MORTBAY.ORG</role-name>  <-- this is the domain that the user is a member of
    </auth-constraint>
  </security-constraint>

  <login-config>
    <auth-method>SPNEGO</auth-method>
    <realm-name>Test Realm</realm-name>
    (optionally to add custom error page)
    <spnego-login-config>
      <spengo-error-page>/loginError.html?param=foo</spnego-error-page>
    </spnego-login-config>
  </login-config>
   
A corresponding UserRealm needs to be created either programmatically if 
embedded, via the jetty.xml or in a context file for the webapp.

(in the jetty.xml)

   <Call name="addBean">
      <Arg>
        <New class="org.eclipse.jetty.security.SpnegoLoginService">
          <Set name="name">Test Realm</Set>
          <Set name="config"><Property name="jetty.home" default="."/>/etc/spnego.properties</Set>
        </New>
      </Arg>
    </Call>

(context file)
  <Get name="securityHandler">
    <Set name="loginService">
      <New class="org.eclipse.jetty.security.SpnegoLoginService">
	    <Set name="name">Test Realm</Set>
	    <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/spnego.properties</Set>
      </New>
    </Set>
    <Set name="checkWelcomeFiles">true</Set>
  </Get>