KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sape > carbon > services > security > auth > weblogic61 > WeblogicCarbonAuditProvider


1 /*
2  * The contents of this file are subject to the Sapient Public License
3  * Version 1.0 (the "License"); you may not use this file except in compliance
4  * with the License. You may obtain a copy of the License at
5  * http://carbon.sf.net/License.html.
6  *
7  * Software distributed under the License is distributed on an "AS IS" basis,
8  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
9  * the specific language governing rights and limitations under the License.
10  *
11  * The Original Code is The Carbon Component Framework.
12  *
13  * The Initial Developer of the Original Code is Sapient Corporation
14  *
15  * Copyright (C) 2003 Sapient Corporation. All Rights Reserved.
16  */

17
18 package org.sape.carbon.services.security.auth.weblogic61;
19
20 import java.security.Principal JavaDoc;
21 import java.security.acl.Acl JavaDoc;
22 import java.security.acl.Permission JavaDoc;
23
24 import org.apache.commons.logging.Log;
25 import org.apache.commons.logging.LogFactory;
26 import weblogic.security.X509;
27 import weblogic.security.acl.User;
28 import weblogic.security.acl.UserInfo;
29 import weblogic.security.audit.AuditProvider;
30
31
32 /**
33  * Adapter class for the Weblogic 6.1 Security SPI to Carbon's Logging
34  * Service.
35  *
36  * <p>
37  * The class provides basic adapter behavior from the Weblogic Security
38  * SPI calls to Carbon's Log Service.
39  * </p>
40  *
41  * @author $Author: dvoet $ $Date: 2003/05/05 21:21:34 $
42  * @version $Revision: 1.7 $
43  *
44  * @since carbon 1.2
45  */

46 public class WeblogicCarbonAuditProvider implements AuditProvider {
47
48     /**
49      * Provides a handle to Apache-commons logger
50      */

51     private Log log = LogFactory.getLog(this.getClass());
52
53     /**
54      * Logs a request was made to authenticate a user.
55      *
56      * @param subsystem subsystem name
57      * @param userAuthInfo authentication parameters
58      * @param resultUser return value (null if authentication failure)
59      */

60     public void authenticateUser(
61         String JavaDoc subsystem, UserInfo userAuthInfo, User resultUser) {
62
63         if (log.isDebugEnabled()) {
64             StringBuffer JavaDoc logMessage = new StringBuffer JavaDoc();
65
66             logMessage.append(
67                 "A request was made to authenticate a user. ");
68             logMessage.append("subsystem=[");
69             logMessage.append(subsystem);
70
71             if (userAuthInfo == null) {
72                 logMessage.append("], userAuthInfo=[null");
73             } else {
74                 logMessage.append("], userAuthInfo.name=[");
75                 logMessage.append(userAuthInfo.getName());
76             }
77
78             if (userAuthInfo == null) {
79                 logMessage.append("], userAuthInfo=[null");
80             } else {
81                 logMessage.append("], userAuthInfo.realmName=[");
82                 logMessage.append(userAuthInfo.getRealmName());
83             }
84
85             if (resultUser == null) {
86                 logMessage.append("], resultUser=[null");
87             } else {
88                 logMessage.append("], resultUser.name=[");
89                 logMessage.append(resultUser.getName());
90             }
91
92             logMessage.append("]");
93
94             log.info(logMessage.toString());
95         }
96     }
97
98     /**
99      * Logs a request was made to check for a permission on an ACL.
100      *
101      * @param subsystem subsystem name
102      * @param acl ACL that was checked
103      * @param principal principal that was checked
104      * @param permission permission that was checked
105      * @param result return value (false if permission denied)
106      */

107     public void checkPermission(
108         String JavaDoc subsystem, Acl JavaDoc acl, Principal JavaDoc principal,
109         Permission JavaDoc permission, boolean result) {
110
111         if (log.isInfoEnabled()) {
112             StringBuffer JavaDoc logMessage = new StringBuffer JavaDoc();
113
114             logMessage.append(
115                 "A request was made to check for a permission on an ACL. ");
116             logMessage.append("subsystem=[");
117             logMessage.append(subsystem);
118
119             if (acl == null) {
120                 logMessage.append("], acl=[null");
121             } else {
122                 logMessage.append("], acl.name=[");
123                 logMessage.append(acl.getName());
124             }
125
126             if (principal == null) {
127                 logMessage.append("], principal=[null");
128             } else {
129                 logMessage.append("], principal.name=[");
130                 logMessage.append(principal.getName());
131             }
132
133             logMessage.append("], result=[");
134             logMessage.append(result);
135             logMessage.append("]");
136
137             log.debug(logMessage.toString());
138         }
139     }
140
141     /**
142      * Logs an invalid X.509 certificate was presented.
143      *
144      * @param subsystem subsystem name
145      * @param certSource the source of the problematic certificate, if known
146      * @param cert faulty certificate, or null if one was expected
147      * and none was given
148      */

149     public void certificateInvalid(
150         String JavaDoc subsystem, Object JavaDoc certSource, X509 cert) {
151
152         if (log.isDebugEnabled()) {
153             StringBuffer JavaDoc logMessage = new StringBuffer JavaDoc();
154
155             logMessage.append(
156                 "An invalid X.509 certificate was presented. ");
157             logMessage.append("subsystem=[");
158             logMessage.append(subsystem);
159
160             if (certSource == null) {
161                 logMessage.append("], certSource=[null");
162             } else {
163                 logMessage.append("], certSource.class.name=[");
164                 logMessage.append(certSource.getClass().getName());
165             }
166
167             if (cert == null) {
168                 logMessage.append("], cert=[null");
169             } else {
170                 logMessage.append("], cert.explain=[");
171                 logMessage.append(cert.explain());
172             }
173
174             logMessage.append("]");
175
176             log.info(logMessage.toString());
177         }
178     }
179
180     /**
181      * Logs a certificate chain with an invalid root certificate authority
182      * was presented.
183      *
184      * @param subsystem subsystem name
185      * @param certSource the source of the problematic certificate
186      * chain, if known
187      * @param cert faulty root certificate, or null if one was expected
188      * and none was given
189      */

190     public void rootCAInvalid(
191         String JavaDoc subsystem, Object JavaDoc certSource, X509 cert) {
192
193         if (log.isDebugEnabled()) {
194             StringBuffer JavaDoc logMessage = new StringBuffer JavaDoc();
195
196             logMessage.append("A certificate chain with an invalid root "
197                 + "certificate authority was presented. ");
198
199             logMessage.append("subsystem=[");
200             logMessage.append(subsystem);
201
202             if (certSource == null) {
203                 logMessage.append("], certSource=[null");
204             } else {
205                 logMessage.append("], certSource.class.name=[");
206                 logMessage.append(certSource.getClass().getName());
207             }
208
209             if (cert == null) {
210                 logMessage.append("], cert=[null");
211             } else {
212                 logMessage.append("], cert.explain=[");
213                 logMessage.append(cert.explain());
214             }
215
216             logMessage.append("]");
217
218             log.debug(logMessage.toString());
219         }
220     }
221 }
222
Popular Tags