rubycas-server 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/CHANGELOG.txt +1 -186
  2. data/History.txt +247 -0
  3. data/Manifest.txt +27 -2
  4. data/PostInstall.txt +3 -0
  5. data/Rakefile +4 -60
  6. data/bin/rubycas-server +2 -2
  7. data/bin/rubycas-server-ctl +0 -0
  8. data/casserver.db +0 -0
  9. data/casserver.log +792 -0
  10. data/casserver_db.log +88 -0
  11. data/config/hoe.rb +76 -0
  12. data/config/requirements.rb +15 -0
  13. data/config.example.yml +130 -6
  14. data/lib/casserver/authenticators/base.rb +20 -0
  15. data/lib/casserver/authenticators/client_certificate.rb +46 -0
  16. data/lib/casserver/authenticators/google.rb +54 -0
  17. data/lib/casserver/authenticators/ldap.rb +70 -40
  18. data/lib/casserver/authenticators/ntlm.rb +88 -0
  19. data/lib/casserver/authenticators/open_id.rb +22 -0
  20. data/lib/casserver/authenticators/sql.rb +66 -1
  21. data/lib/casserver/authenticators/sql_md5.rb +19 -0
  22. data/lib/casserver/authenticators/test.rb +5 -1
  23. data/lib/casserver/cas.rb +97 -22
  24. data/lib/casserver/controllers.rb +95 -34
  25. data/lib/casserver/environment.rb +16 -9
  26. data/lib/casserver/models.rb +38 -10
  27. data/lib/casserver/version.rb +1 -1
  28. data/lib/casserver/views.rb +38 -22
  29. data/lib/casserver.rb +13 -9
  30. data/lib/rubycas-server/version.rb +1 -0
  31. data/lib/rubycas-server.rb +1 -1
  32. data/lib/themes/notice.png +0 -0
  33. data/lib/themes/simple/logo.png +0 -0
  34. data/misc/basic_cas_single_signon_mechanism_diagram.png +0 -0
  35. data/misc/basic_cas_single_signon_mechanism_diagram.svg +652 -0
  36. data/script/console +10 -0
  37. data/script/destroy +14 -0
  38. data/script/generate +14 -0
  39. data/script/txt2html +82 -0
  40. data/tasks/deployment.rake +34 -0
  41. data/tasks/environment.rake +7 -0
  42. data/tasks/website.rake +17 -0
  43. data/website/index.html +40 -0
  44. data/website/index.txt +3 -0
  45. data/website/javascripts/rounded_corners_lite.inc.js +285 -0
  46. data/website/stylesheets/screen.css +138 -0
  47. data/website/template.html.erb +40 -0
  48. metadata +45 -33
  49. data/test/test_cas.rb +0 -33
  50. data/test/test_casserver.rb +0 -125
@@ -0,0 +1,652 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+ <svg
4
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
5
+ xmlns:cc="http://web.resource.org/cc/"
6
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7
+ xmlns:svg="http://www.w3.org/2000/svg"
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ xmlns:xlink="http://www.w3.org/1999/xlink"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="744.09448819"
13
+ height="1052.3622047"
14
+ id="svg2"
15
+ sodipodi:version="0.32"
16
+ inkscape:version="0.45.1"
17
+ sodipodi:docbase="/home/URBACON/mzukowski/workspace/rubycas-server/misc"
18
+ sodipodi:docname="basic_cas_single_signon_mechanism_diagram.svg"
19
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
20
+ inkscape:export-filename="/home/URBACON/mzukowski/workspace/rubycas-server/misc/basic_cas_single_signon_mechanism_diagram.png"
21
+ inkscape:export-xdpi="59.871429"
22
+ inkscape:export-ydpi="59.871429">
23
+ <defs
24
+ id="defs4">
25
+ <marker
26
+ inkscape:stockid="Dot_l"
27
+ orient="auto"
28
+ refY="0.0"
29
+ refX="0.0"
30
+ id="Dot_l"
31
+ style="overflow:visible">
32
+ <path
33
+ id="path5767"
34
+ d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
35
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;marker-end:none"
36
+ transform="scale(0.8) translate(7.4, 1)" />
37
+ </marker>
38
+ <marker
39
+ inkscape:stockid="Arrow2Lend"
40
+ orient="auto"
41
+ refY="0.0"
42
+ refX="0.0"
43
+ id="Arrow2Lend"
44
+ style="overflow:visible;">
45
+ <path
46
+ id="path5726"
47
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
48
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
49
+ transform="scale(1.1) rotate(180) translate(1,0)" />
50
+ </marker>
51
+ </defs>
52
+ <sodipodi:namedview
53
+ id="base"
54
+ pagecolor="#ffffff"
55
+ bordercolor="#666666"
56
+ borderopacity="1.0"
57
+ gridtolerance="10000"
58
+ guidetolerance="10"
59
+ objecttolerance="10"
60
+ inkscape:pageopacity="0.0"
61
+ inkscape:pageshadow="2"
62
+ inkscape:zoom="0.7"
63
+ inkscape:cx="547.74448"
64
+ inkscape:cy="559.41199"
65
+ inkscape:document-units="px"
66
+ inkscape:current-layer="g6196"
67
+ inkscape:window-width="1050"
68
+ inkscape:window-height="910"
69
+ inkscape:window-x="45"
70
+ inkscape:window-y="174" />
71
+ <metadata
72
+ id="metadata7">
73
+ <rdf:RDF>
74
+ <cc:Work
75
+ rdf:about="">
76
+ <dc:format>image/svg+xml</dc:format>
77
+ <dc:type
78
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
79
+ </cc:Work>
80
+ </rdf:RDF>
81
+ </metadata>
82
+ <g
83
+ inkscape:label="Layer 1"
84
+ inkscape:groupmode="layer"
85
+ id="layer1">
86
+ <g
87
+ id="g6196"
88
+ transform="translate(-8.5714286,72.857143)">
89
+ <rect
90
+ y="411.08395"
91
+ x="54.43605"
92
+ height="178.27074"
93
+ width="495.41364"
94
+ id="rect6063"
95
+ style="fill:#fff84d;fill-opacity:0.23809524;stroke:#000000;stroke-width:1.80067635;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:7.20270515, 7.20270515;stroke-dashoffset:0;stroke-opacity:1" />
96
+ <rect
97
+ y="447.18683"
98
+ x="172.08548"
99
+ height="104.99249"
100
+ width="141.09586"
101
+ id="rect2162"
102
+ style="fill:#ffffff;stroke:#000000;stroke-width:1.15984082;stroke-opacity:1;fill-opacity:1" />
103
+ <text
104
+ transform="scale(1.0650305,0.9389402)"
105
+ id="text3152"
106
+ y="538.65576"
107
+ x="172.24358"
108
+ style="font-size:8.10052872px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
109
+ xml:space="preserve"><tspan
110
+ y="538.65576"
111
+ x="172.24358"
112
+ id="tspan3154"
113
+ sodipodi:role="line">Username:</tspan></text>
114
+ <text
115
+ transform="scale(1.0650305,0.9389402)"
116
+ id="text3156"
117
+ y="553.08411"
118
+ x="173.55655"
119
+ style="font-size:8.10052872px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
120
+ xml:space="preserve"><tspan
121
+ y="553.08411"
122
+ x="173.55655"
123
+ id="tspan3158"
124
+ sodipodi:role="line">Password:</tspan></text>
125
+ <rect
126
+ y="496.16171"
127
+ x="232.10291"
128
+ height="10.884437"
129
+ width="67.540466"
130
+ id="rect3160"
131
+ style="fill:none;stroke:#000000;stroke-width:0.67504406;stroke-opacity:1" />
132
+ <rect
133
+ y="510.88766"
134
+ x="232.10291"
135
+ height="11.524696"
136
+ width="67.540466"
137
+ id="rect3162"
138
+ style="fill:none;stroke:#000000;stroke-width:0.67504406;stroke-opacity:1" />
139
+ <rect
140
+ y="529.43451"
141
+ x="242.97296"
142
+ height="12.846746"
143
+ width="47.252808"
144
+ id="rect3164"
145
+ style="fill:#c4c4c4;fill-opacity:1;stroke:#000000;stroke-width:0.63081616;stroke-linejoin:round;stroke-opacity:1" />
146
+ <text
147
+ transform="scale(1.0650305,0.9389402)"
148
+ id="text3166"
149
+ y="572.76434"
150
+ x="240.52916"
151
+ style="font-size:8.10052872px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
152
+ xml:space="preserve"><tspan
153
+ y="572.76434"
154
+ x="240.52916"
155
+ id="tspan3168"
156
+ sodipodi:role="line">Login</tspan></text>
157
+ <image
158
+ xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/database.png"
159
+ sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/database.png"
160
+ width="128"
161
+ height="128"
162
+ id="image4402"
163
+ x="115.80714"
164
+ y="778.25043" />
165
+ <image
166
+ style="stroke:#d88383;stroke-opacity:0.4642857"
167
+ xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/Login Manager.png"
168
+ sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/Login Manager.png"
169
+ width="128"
170
+ height="128"
171
+ id="image4412"
172
+ x="172.3757"
173
+ y="755.01691" />
174
+ <flowRoot
175
+ transform="translate(77.794059,358.3221)"
176
+ id="flowRoot4683"
177
+ xml:space="preserve"><flowRegion
178
+ id="flowRegion4685"><rect
179
+ y="398.79349"
180
+ x="185.86807"
181
+ height="41.416252"
182
+ width="197.9899"
183
+ id="rect4687" /></flowRegion><flowPara
184
+ style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle"
185
+ id="flowPara4689">Username/Password</flowPara><flowPara
186
+ style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle"
187
+ id="flowPara4691">Data Source</flowPara></flowRoot> <image
188
+ xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
189
+ sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
190
+ width="128"
191
+ height="128"
192
+ id="image4700"
193
+ x="150.88766"
194
+ y="177.97473" />
195
+ <image
196
+ xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
197
+ sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
198
+ width="75.14286"
199
+ height="76.571426"
200
+ id="image4703"
201
+ x="367.49109"
202
+ y="122.8522" />
203
+ <image
204
+ xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
205
+ sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
206
+ width="43.714287"
207
+ height="45.142857"
208
+ id="image4705"
209
+ x="445.17639"
210
+ y="96.778969" />
211
+ <flowRoot
212
+ transform="translate(6.135703,-278.29052)"
213
+ id="flowRoot4707"
214
+ xml:space="preserve"><flowRegion
215
+ id="flowRegion4709"><rect
216
+ y="398.79349"
217
+ x="185.86807"
218
+ height="41.416252"
219
+ width="197.9899"
220
+ id="rect4711" /></flowRegion><flowPara
221
+ style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle"
222
+ id="flowPara4715">Your Web </flowPara><flowPara
223
+ id="flowPara4727"
224
+ style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle">Applications</flowPara></flowRoot> <path
225
+ transform="matrix(0.7530864,0,0,0.7037037,119.19544,-3.919848)"
226
+ d="M 92.934036 137.66905 A 40.911179 40.911179 0 1 1 11.111679,137.66905 A 40.911179 40.911179 0 1 1 92.934036 137.66905 z"
227
+ sodipodi:ry="40.911179"
228
+ sodipodi:rx="40.911179"
229
+ sodipodi:cy="137.66905"
230
+ sodipodi:cx="52.022858"
231
+ id="path5948"
232
+ style="fill:#d6d6d6;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857"
233
+ sodipodi:type="arc" />
234
+ <path
235
+ sodipodi:nodetypes="cc"
236
+ inkscape:connector-type="polyline"
237
+ id="path4729"
238
+ d="M 90.913731,69.483756 C 152.53874,99.37138 165.42358,137.86021 182.83761,175.54977"
239
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Dot_l);marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
240
+ <text
241
+ sodipodi:linespacing="100%"
242
+ id="text5916"
243
+ y="50.656349"
244
+ x="122.0305"
245
+ style="font-size:20px;font-style:normal;font-weight:normal;line-height:100%;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
246
+ xml:space="preserve"><tspan
247
+ id="tspan5942"
248
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
249
+ y="50.656349"
250
+ x="122.0305"
251
+ sodipodi:role="line">User asks to log in or accesses a CAS-</tspan><tspan
252
+ id="tspan6140"
253
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
254
+ y="68.656349"
255
+ x="122.0305"
256
+ sodipodi:role="line">protected page on one of your web apps</tspan></text>
257
+ <text
258
+ transform="scale(1.0344928,0.9666572)"
259
+ id="text5944"
260
+ y="116.38718"
261
+ x="136.8195"
262
+ style="font-size:8.73571777px;font-style:normal;font-weight:normal;fill:#8c8c8c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
263
+ xml:space="preserve"><tspan
264
+ style="font-size:52.41415787px;font-weight:bold;fill:#8c8c8c;fill-opacity:1"
265
+ y="116.38718"
266
+ x="136.8195"
267
+ id="tspan5946"
268
+ sodipodi:role="line">1</tspan></text>
269
+ <path
270
+ sodipodi:nodetypes="cc"
271
+ inkscape:connector-type="polyline"
272
+ id="path5958"
273
+ d="M 177.14286,300.93361 C 122.77698,351.25116 149.56669,400.2563 180,432.36218"
274
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
275
+ <rect
276
+ y="327.36783"
277
+ x="131.23285"
278
+ height="64.548241"
279
+ width="39.39595"
280
+ id="rect5986"
281
+ style="fill:#ffffff;fill-opacity:0.81547618;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857" />
282
+ <g
283
+ id="g5988">
284
+ <path
285
+ sodipodi:type="arc"
286
+ style="fill:#d6d6d6;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857"
287
+ id="path5962"
288
+ sodipodi:cx="52.022858"
289
+ sodipodi:cy="137.66905"
290
+ sodipodi:rx="40.911179"
291
+ sodipodi:ry="40.911179"
292
+ d="M 92.934036 137.66905 A 40.911179 40.911179 0 1 1 11.111679,137.66905 A 40.911179 40.911179 0 1 1 92.934036 137.66905 z"
293
+ transform="matrix(0.7530864,0,0,0.7037037,40.281693,248.08974)" />
294
+ <text
295
+ xml:space="preserve"
296
+ style="font-size:20px;font-style:normal;font-weight:normal;line-height:100%;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
297
+ x="99.11676"
298
+ y="346.66592"
299
+ id="text5964"
300
+ sodipodi:linespacing="100%"><tspan
301
+ sodipodi:role="line"
302
+ x="99.11676"
303
+ y="346.66592"
304
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
305
+ id="tspan5968">CAS client redirects </tspan><tspan
306
+ sodipodi:role="line"
307
+ x="99.11676"
308
+ y="364.66592"
309
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
310
+ id="tspan5984">user's browser to </tspan><tspan
311
+ id="tspan6099"
312
+ sodipodi:role="line"
313
+ x="99.11676"
314
+ y="382.66592"
315
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">CAS server's login page</tspan></text>
316
+ <text
317
+ xml:space="preserve"
318
+ style="font-size:8.73571777px;font-style:normal;font-weight:normal;fill:#8c8c8c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
319
+ x="60.536995"
320
+ y="375.02045"
321
+ id="text5970"
322
+ transform="scale(1.0344928,0.9666572)"><tspan
323
+ sodipodi:role="line"
324
+ id="tspan5972"
325
+ x="60.536995"
326
+ y="375.02045"
327
+ style="font-size:52.41426086px;font-weight:bold;fill:#8c8c8c;fill-opacity:1">2</tspan></text>
328
+ </g>
329
+ <path
330
+ sodipodi:nodetypes="cc"
331
+ inkscape:connector-type="polyline"
332
+ id="path6023"
333
+ d="M 221.22341,745.27581 C 223.2843,689.97992 182.92101,668.26983 242.43661,567.48896"
334
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
335
+ <path
336
+ sodipodi:nodetypes="cc"
337
+ inkscape:connector-type="polyline"
338
+ id="path6016"
339
+ d="M 267.69042,570.51942 C 294.10574,686.35839 253.44877,692.00715 245.46707,751.33672"
340
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
341
+ <rect
342
+ y="623.04736"
343
+ x="193.44421"
344
+ height="54.548237"
345
+ width="101.01526"
346
+ id="rect6018"
347
+ style="fill:#ffffff;fill-opacity:0.81547618;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857" />
348
+ <g
349
+ transform="translate(26.51177,281.83256)"
350
+ id="g5996">
351
+ <path
352
+ sodipodi:type="arc"
353
+ style="fill:#d6d6d6;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857"
354
+ id="path5998"
355
+ sodipodi:cx="52.022858"
356
+ sodipodi:cy="137.66905"
357
+ sodipodi:rx="40.911179"
358
+ sodipodi:ry="40.911179"
359
+ d="M 92.934036 137.66905 A 40.911179 40.911179 0 1 1 11.111679,137.66905 A 40.911179 40.911179 0 1 1 92.934036 137.66905 z"
360
+ transform="matrix(0.7530864,0,0,0.7037037,40.281693,248.08974)" />
361
+ <text
362
+ xml:space="preserve"
363
+ style="font-size:20px;font-style:normal;font-weight:normal;line-height:100%;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
364
+ x="95.11676"
365
+ y="364.66592"
366
+ id="text6000"
367
+ sodipodi:linespacing="100%"><tspan
368
+ id="tspan6012"
369
+ sodipodi:role="line"
370
+ x="95.11676"
371
+ y="364.66592"
372
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">Your CAS server validates the username and password </tspan><tspan
373
+ id="tspan6027"
374
+ sodipodi:role="line"
375
+ x="95.11676"
376
+ y="382.66592"
377
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">with your datasource (AD, LDAP, SQL database, etc.)</tspan></text>
378
+ <text
379
+ xml:space="preserve"
380
+ style="font-size:8.73571777px;font-style:normal;font-weight:normal;fill:#8c8c8c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
381
+ x="60.536995"
382
+ y="375.02045"
383
+ id="text6006"
384
+ transform="scale(1.0344928,0.9666572)"><tspan
385
+ sodipodi:role="line"
386
+ id="tspan6008"
387
+ x="60.536995"
388
+ y="375.02045"
389
+ style="font-size:52.41426086px;font-weight:bold;fill:#8c8c8c;fill-opacity:1">3</tspan></text>
390
+ </g>
391
+ <flowRoot
392
+ transform="translate(-43.501115,62.848217)"
393
+ id="flowRoot6029"
394
+ xml:space="preserve"><flowRegion
395
+ id="flowRegion6031"><rect
396
+ y="398.79349"
397
+ x="185.86807"
398
+ height="41.416252"
399
+ width="197.9899"
400
+ id="rect6033" /></flowRegion><flowPara
401
+ style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle"
402
+ id="flowPara6037">Login Page</flowPara></flowRoot> <flowRoot
403
+ transform="translate(-174.35827,64.491079)"
404
+ id="flowRoot6049"
405
+ xml:space="preserve"><flowRegion
406
+ id="flowRegion6051"><rect
407
+ y="398.79349"
408
+ x="185.86807"
409
+ height="41.416252"
410
+ width="197.9899"
411
+ id="rect6053" /></flowRegion><flowPara
412
+ style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle"
413
+ id="flowPara6057">Your CAS </flowPara><flowPara
414
+ id="flowPara6061"
415
+ style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle">Server</flowPara></flowRoot> <rect
416
+ y="450.69028"
417
+ x="365.75668"
418
+ height="68.486626"
419
+ width="148.48663"
420
+ id="rect6073"
421
+ style="fill:#000000;fill-opacity:0.59523806;stroke:#000000;stroke-width:1.5847975;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
422
+ <flowRoot
423
+ style="fill:#f9f9f9"
424
+ transform="translate(153.43952,68.276791)"
425
+ id="flowRoot6075"
426
+ xml:space="preserve"><flowRegion
427
+ id="flowRegion6077"><rect
428
+ style="fill:#f9f9f9"
429
+ y="398.79349"
430
+ x="185.86807"
431
+ height="41.416252"
432
+ width="197.9899"
433
+ id="rect6079" /></flowRegion><flowPara
434
+ id="flowPara6087"
435
+ style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#f9f9f9">Ticket </flowPara><flowPara
436
+ id="flowPara6091"
437
+ style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#f9f9f9">Validator</flowPara></flowRoot> <g
438
+ transform="translate(259.27425,-8.95413)"
439
+ id="g6103">
440
+ <path
441
+ sodipodi:type="arc"
442
+ style="fill:#d6d6d6;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857"
443
+ id="path6105"
444
+ sodipodi:cx="52.022858"
445
+ sodipodi:cy="137.66905"
446
+ sodipodi:rx="40.911179"
447
+ sodipodi:ry="40.911179"
448
+ d="M 92.934036 137.66905 A 40.911179 40.911179 0 1 1 11.111679,137.66905 A 40.911179 40.911179 0 1 1 92.934036 137.66905 z"
449
+ transform="matrix(0.7530864,0,0,0.7037037,40.281693,248.08974)" />
450
+ <text
451
+ xml:space="preserve"
452
+ style="font-size:20px;font-style:normal;font-weight:normal;line-height:100%;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
453
+ x="99.11676"
454
+ y="346.66592"
455
+ id="text6107"
456
+ sodipodi:linespacing="100%"><tspan
457
+ id="tspan6113"
458
+ sodipodi:role="line"
459
+ x="99.11676"
460
+ y="346.66592"
461
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">User is now authenticated</tspan><tspan
462
+ id="tspan6124"
463
+ sodipodi:role="line"
464
+ x="99.11676"
465
+ y="364.66592"
466
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">for all web applications, and</tspan><tspan
467
+ id="tspan6126"
468
+ sodipodi:role="line"
469
+ x="99.11676"
470
+ y="382.66592"
471
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">is redirected back to original</tspan><tspan
472
+ id="tspan6128"
473
+ sodipodi:role="line"
474
+ x="99.11676"
475
+ y="400.66592"
476
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">destination, with a <tspan
477
+ id="tspan6132"
478
+ style="font-weight:bold">service ticket</tspan></tspan></text>
479
+ <text
480
+ xml:space="preserve"
481
+ style="font-size:8.73571777px;font-style:normal;font-weight:normal;fill:#8c8c8c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
482
+ x="60.536995"
483
+ y="375.02045"
484
+ id="text6115"
485
+ transform="scale(1.0344928,0.9666572)"><tspan
486
+ sodipodi:role="line"
487
+ id="tspan6117"
488
+ x="60.536995"
489
+ y="375.02045"
490
+ style="font-size:52.41426086px;font-weight:bold;fill:#8c8c8c;fill-opacity:1">4</tspan></text>
491
+ </g>
492
+ <path
493
+ sodipodi:nodetypes="cc"
494
+ inkscape:connector-type="polyline"
495
+ id="path6101"
496
+ d="M 284.28571,438.36218 C 327.38237,403.34113 341.72605,344.12374 278.57143,275.50504"
497
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
498
+ <image
499
+ xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
500
+ sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
501
+ width="75.14286"
502
+ height="76.571426"
503
+ id="image6134"
504
+ x="456.71429"
505
+ y="144.07646" />
506
+ <image
507
+ xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
508
+ sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
509
+ width="43.714287"
510
+ height="45.142857"
511
+ id="image6136"
512
+ x="302.42859"
513
+ y="172.6479" />
514
+ <path
515
+ transform="matrix(0.7530864,0,0,0.7037037,375.41079,160.18381)"
516
+ d="M 92.934036 137.66905 A 40.911179 40.911179 0 1 1 11.111679,137.66905 A 40.911179 40.911179 0 1 1 92.934036 137.66905 z"
517
+ sodipodi:ry="40.911179"
518
+ sodipodi:rx="40.911179"
519
+ sodipodi:cy="137.66905"
520
+ sodipodi:cx="52.022858"
521
+ id="path6146"
522
+ style="fill:#d6d6d6;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857"
523
+ sodipodi:type="arc" />
524
+ <path
525
+ sodipodi:nodetypes="cc"
526
+ inkscape:connector-type="polyline"
527
+ id="path6142"
528
+ d="M 290,255.21933 C 614.35962,322.40837 842.57613,334.41943 527.14286,483.79075"
529
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
530
+ <text
531
+ sodipodi:linespacing="100%"
532
+ id="text6148"
533
+ y="249.33141"
534
+ x="439.3887"
535
+ style="font-size:20px;font-style:normal;font-weight:normal;line-height:100%;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
536
+ xml:space="preserve"><tspan
537
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
538
+ y="249.33141"
539
+ x="439.3887"
540
+ sodipodi:role="line"
541
+ id="tspan6156">CAS client validates the <tspan
542
+ id="tspan6192"
543
+ style="font-weight:bold">service </tspan></tspan><tspan
544
+ id="tspan6184"
545
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
546
+ y="267.33141"
547
+ x="439.3887"
548
+ sodipodi:role="line"><tspan
549
+ id="tspan6194"
550
+ style="font-weight:bold">ticket </tspan>with CAS server (via HTTP</tspan><tspan
551
+ id="tspan6186"
552
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
553
+ y="285.33141"
554
+ x="439.3887"
555
+ sodipodi:role="line"> CAS protocol)</tspan><tspan
556
+ id="tspan6182"
557
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
558
+ y="303.33141"
559
+ x="439.3887"
560
+ sodipodi:role="line" /></text>
561
+ <text
562
+ transform="scale(1.0344928,0.9666572)"
563
+ id="text6160"
564
+ y="284.08234"
565
+ x="384.49191"
566
+ style="font-size:8.73571777px;font-style:normal;font-weight:normal;fill:#8c8c8c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
567
+ xml:space="preserve"><tspan
568
+ style="font-size:52.41423416px;font-weight:bold;fill:#8c8c8c;fill-opacity:1"
569
+ y="284.08234"
570
+ x="384.49191"
571
+ id="tspan6162"
572
+ sodipodi:role="line">5</tspan></text>
573
+ <text
574
+ xml:space="preserve"
575
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
576
+ x="59.428574"
577
+ y="-3.3521032"
578
+ id="text6475"><tspan
579
+ sodipodi:role="line"
580
+ id="tspan6477"
581
+ x="59.428574"
582
+ y="-3.3521032"
583
+ style="font-size:32px;font-weight:bold">Basic CAS Authentication Mechanism</tspan></text>
584
+ <path
585
+ sodipodi:nodetypes="cc"
586
+ inkscape:connector-type="polyline"
587
+ id="path6479"
588
+ d="M 492.85714,530.93361 C 503.98532,609.14204 392.78869,548.345 328.57143,540.93361"
589
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:3,1.5,0.75,1.5;stroke-opacity:1;display:inline;stroke-dashoffset:0" />
590
+ <rect
591
+ y="535.80237"
592
+ x="508.87347"
593
+ height="68.833954"
594
+ width="50.82452"
595
+ id="rect6525"
596
+ style="fill:#ffffff;fill-opacity:0.81547618;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857" />
597
+ <path
598
+ transform="matrix(0.7530864,0,0,0.7037037,451.90354,473.8499)"
599
+ d="M 92.934036 137.66905 A 40.911179 40.911179 0 1 1 11.111679,137.66905 A 40.911179 40.911179 0 1 1 92.934036 137.66905 z"
600
+ sodipodi:ry="40.911179"
601
+ sodipodi:rx="40.911179"
602
+ sodipodi:cy="137.66905"
603
+ sodipodi:cx="52.022858"
604
+ id="path6481"
605
+ style="fill:#d6d6d6;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857"
606
+ sodipodi:type="arc" />
607
+ <text
608
+ sodipodi:linespacing="100%"
609
+ id="text6483"
610
+ y="555.85461"
611
+ x="511.59576"
612
+ style="font-size:20px;font-style:normal;font-weight:normal;line-height:100%;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
613
+ xml:space="preserve"><tspan
614
+ id="tspan6495"
615
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
616
+ y="555.85461"
617
+ x="511.59576"
618
+ sodipodi:role="line">If ticket validation fails,</tspan><tspan
619
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
620
+ y="573.85461"
621
+ x="511.59576"
622
+ sodipodi:role="line"
623
+ id="tspan6517">user is redirected back to</tspan><tspan
624
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
625
+ y="591.85461"
626
+ x="511.59576"
627
+ sodipodi:role="line"
628
+ id="tspan6521">login page; otherwise </tspan><tspan
629
+ style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
630
+ y="609.85461"
631
+ x="511.59576"
632
+ sodipodi:role="line"
633
+ id="tspan6523">allowed to proceed</tspan></text>
634
+ <text
635
+ transform="scale(1.0344928,0.9666572)"
636
+ id="text6497"
637
+ y="608.56763"
638
+ x="458.43414"
639
+ style="font-size:8.73571777px;font-style:normal;font-weight:normal;fill:#8c8c8c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
640
+ xml:space="preserve"><tspan
641
+ style="font-size:52.41422653px;font-weight:bold;fill:#8c8c8c;fill-opacity:1"
642
+ y="608.56763"
643
+ x="458.43414"
644
+ id="tspan6499"
645
+ sodipodi:role="line">6</tspan></text>
646
+ <path
647
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
648
+ d="M 50.571429,4.647896 L 686.28572,4.647896"
649
+ id="path6529" />
650
+ </g>
651
+ </g>
652
+ </svg>
data/script/console ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ # File: script/console
3
+ irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
4
+
5
+ libs = " -r irb/completion"
6
+ # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
+ # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
+ libs << " -r #{File.dirname(__FILE__) + '/../lib/rubycas-server.rb'}"
9
+ puts "Loading rubycas-server gem"
10
+ exec "#{irb} #{libs} --simple-prompt"