KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mortbay > jetty > servlet > DigestAuthenticator


1 //========================================================================
2
//$Id: DigestAuthenticator.java,v 1.1 2005/06/22 10:01:56 gregwilkins Exp $
3
//Copyright 2004 Mort Bay Consulting Pty. Ltd.
4
//------------------------------------------------------------------------
5
//Licensed under the Apache License, Version 2.0 (the "License");
6
//you may not use this file except in compliance with the License.
7
//You may obtain a copy of the License at
8
//http://www.apache.org/licenses/LICENSE-2.0
9
//Unless required by applicable law or agreed to in writing, software
10
//distributed under the License is distributed on an "AS IS" BASIS,
11
//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
//See the License for the specific language governing permissions and
13
//limitations under the License.
14
//========================================================================
15

16 package org.mortbay.jetty.servlet;
17
18 import java.io.IOException JavaDoc;
19
20 import org.mortbay.http.HttpFields;
21 import org.mortbay.http.HttpRequest;
22 import org.mortbay.http.HttpResponse;
23 import org.mortbay.http.UserRealm;
24
25 /* ------------------------------------------------------------ */
26 /** DigestAuthenticator.
27  * @author gregw
28  *
29  */

30 public class DigestAuthenticator extends org.mortbay.http.DigestAuthenticator
31 {
32
33     /* ------------------------------------------------------------ */
34     public void sendChallenge(UserRealm realm,
35                               HttpRequest request,
36                               HttpResponse response,
37                               boolean stale)
38         throws IOException JavaDoc
39     {
40         response.setField(HttpFields.__WwwAuthenticate,
41                 "Digest realm=\""+realm.getName()+
42                 "\", domain=\""+
43                 response.getHttpContext().getContextPath() +
44                 "\", nonce=\""+newNonce(request)+
45                 "\", algorithm=MD5, qop=\"auth\"" + (useStale?(" stale="+stale):"")
46                           );
47
48         ServletHttpResponse sresponse = (ServletHttpResponse) response.getWrapper();
49         if (sresponse!=null)
50             sresponse.sendError(HttpResponse.__401_Unauthorized);
51         else
52             response.sendError(HttpResponse.__401_Unauthorized);
53     }
54 }
55
Popular Tags