1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.directory.server.bridge.http;
22
23
24 import org.apache.directory.api.ldap.model.message.BindRequest;
25 import org.apache.directory.api.ldap.model.message.BindResponse;
26 import org.apache.directory.api.ldap.model.message.BindResponseImpl;
27 import org.apache.directory.api.ldap.model.message.LdapResult;
28 import org.apache.directory.api.ldap.model.message.ResultCodeEnum;
29 import org.apache.directory.api.ldap.model.schema.SchemaManager;
30 import org.apache.directory.server.core.api.DirectoryService;
31 import org.apache.directory.server.core.api.LdapCoreSessionConnection;
32
33
34
35
36
37
38
39
40
41
42
43 public class HttpDirectoryService
44 {
45
46 private final DirectoryService dirService;
47
48
49
50
51
52 public static final String KEY = HttpDirectoryService.class.getName();
53
54
55 public HttpDirectoryService( DirectoryService dirService )
56 {
57 this.dirService = dirService;
58 }
59
60
61
62
63
64
65
66
67
68
69
70
71
72 public BindResponseHolder bind( BindRequest bindReq )
73 {
74 BindResponseHolder holder = null;
75 BindResponse resp = null;
76
77 try
78 {
79 LdapCoreSessionConnectionSessionConnection.html#LdapCoreSessionConnection">LdapCoreSessionConnection connection = new LdapCoreSessionConnection( dirService );
80
81 resp = connection.bind( bindReq );
82
83 holder = new BindResponseHolder( resp, connection );
84 }
85 catch ( Exception e )
86 {
87 resp = new BindResponseImpl();
88
89 LdapResult result = resp.getLdapResult();
90 result.setDiagnosticMessage( e.getMessage() );
91 result.setResultCode( ResultCodeEnum.getResultCode( e ) );
92
93 holder = new BindResponseHolder( resp, null );
94 }
95
96 return holder;
97 }
98
99
100 public SchemaManager getSchemaManager()
101 {
102 return dirService.getSchemaManager();
103 }
104
105
106
107
108
109 public DirectoryService getDirService()
110 {
111 return dirService;
112 }
113
114 }