FR documentation update

This commit is contained in:
Clément Oudot 2017-08-30 16:47:26 +00:00
parent a31b9cc61d
commit 9a938793d8
47 changed files with 1221 additions and 3707 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,11 @@
13/04/17 18:59
30/08/17 18:45
Données du projet
Segments Mots Caractères (sans espaces) Caractères (avec espaces)
Total : 15934 69429 483801 527924
Restants : 8244 30595 246458 260982
Segments uniques : 7703 50212 324179 362970
Segments uniques restants : 3714 19851 147635 160696
Total : 16059 70106 487523 532148
Restants : 8488 31945 254679 270205
Segments uniques : 7772 50794 327068 366367
Segments uniques restants : 3899 21042 154506 168522
Statistiques par fichiers :
@ -20,11 +20,12 @@ pages/documentation/current/applications/bugzilla_logo.png_documentation_2.0_app
pages/documentation/current/applications/bugzilla.html 95 56 70 43 268 131 217 102 2421 1502 1949 1230 2575 1555 2092 1279
pages/documentation/current/applications/cornerstone.html 84 37 49 26 423 165 345 139 2980 1492 2347 1252 3207 1529 2552 1287
pages/documentation/current/applications/csod_logo.png_documentation_2.0_applications_cornerstone.html 38 35 8 8 88 84 25 25 747 730 242 242 756 739 248 248
pages/documentation/current/applications/django.html 21 9 10 3 79 25 53 9 611 216 383 85 641 216 413 85
pages/documentation/current/applications/django.html 21 12 10 5 79 44 53 24 626 389 393 213 656 396 423 220
pages/documentation/current/applications/dokuwiki_logo.png_documentation_2.0_applications_dokuwiki.html 38 34 9 8 88 82 27 25 762 715 302 272 771 724 308 278
pages/documentation/current/applications/dokuwiki.html 104 59 35 13 386 135 229 28 3138 1589 1581 433 3388 1640 1757 438
pages/documentation/current/applications/drupal_logo.png_documentation_2.0_applications_drupal.html 38 34 9 8 88 82 27 25 735 690 284 256 744 699 290 262
pages/documentation/current/applications/drupal.html 129 75 47 25 493 196 278 81 3988 2143 1952 853 4288 2224 2149 885
pages/documentation/current/applications/fusiondirectory.html 37 27 14 14 121 93 61 61 1135 965 615 615 1180 995 643 643
pages/documentation/current/applications/glpi.html 27 16 15 8 168 65 139 41 1239 602 989 392 1345 620 1095 410
pages/documentation/current/applications/googleapps_logo.png_documentation_2.0_applications_googleapps.html 38 34 10 9 88 82 28 26 788 739 320 288 797 748 326 294
pages/documentation/current/applications/googleapps.html 144 34 72 16 823 81 582 44 5922 1084 4040 705 6412 1087 4423 706
@ -57,18 +58,19 @@ pages/documentation/current/applications/tomcat.html
pages/documentation/current/applications/user_federation_id-resize-web.png_documentation_2.0_applications_salesforce.html 38 35 5 5 87 83 10 10 902 885 200 200 911 894 201 201
pages/documentation/current/applications/zimbra_logo.png_documentation_2.0_applications_zimbra.html 38 34 9 8 87 81 26 24 737 692 285 257 746 701 291 263
pages/documentation/current/applications/zimbra.html 97 24 46 10 523 84 388 53 3623 784 2461 484 3962 818 2761 516
pages/documentation/current/applications.html 169 109 68 43 413 273 169 91 3787 2697 1589 1015 3854 2718 1644 1032
pages/documentation/current/applications.html 175 115 70 45 424 284 172 94 3948 2858 1646 1072 4015 2879 1701 1089
pages/documentation/current/authad.html 53 17 33 7 343 39 308 15 2015 328 1726 135 2286 332 1993 137
pages/documentation/current/authapache.html 85 32 42 19 378 88 291 59 2607 730 1855 477 2839 760 2075 505
pages/documentation/current/authcas.html 76 25 33 17 372 145 265 123 2422 910 1486 712 2682 1007 1704 809
pages/documentation/current/authchoice.html 55 13 30 5 252 37 210 17 1588 316 1228 146 1767 323 1401 153
pages/documentation/current/authcombination.html 183 136 119 108 984 837 850 775 5746 4769 4626 4227 6519 5443 5350 4888
pages/documentation/current/authcustom.html 26 16 10 10 107 99 83 83 689 619 490 490 756 686 557 557
pages/documentation/current/authdbi.html 156 26 85 16 507 57 398 33 3385 492 2461 290 3687 503 2747 299
pages/documentation/current/authdbi.html 179 49 107 38 739 289 618 253 4728 1835 3733 1562 5229 2045 4208 1760
pages/documentation/current/authdemo.html 50 12 22 4 186 39 141 19 1165 304 803 130 1277 314 911 140
pages/documentation/current/authfacebook.html 54 18 31 11 309 104 253 82 1967 669 1457 476 2176 734 1659 541
pages/documentation/current/authkerberos.html 41 29 13 13 162 137 97 97 1161 992 620 620 1258 1076 700 700
pages/documentation/current/authldap.html 145 38 80 14 882 128 722 80 5673 1219 4347 753 6306 1272 4932 804
pages/documentation/current/authldap.html 145 39 80 15 882 136 722 88 5673 1258 4347 792 6306 1318 4932 850
pages/documentation/current/authlinkedin.html 40 28 19 19 187 162 136 136 1301 1097 859 859 1407 1197 959 959
pages/documentation/current/authmulti.html 15 12 3 2 48 42 21 18 362 326 125 104 378 340 141 118
pages/documentation/current/authnull.html 30 9 11 3 121 23 86 7 791 192 512 65 869 192 583 65
pages/documentation/current/authopenid.html 63 19 32 5 280 73 214 41 1810 547 1217 228 1991 577 1388 258
@ -82,7 +84,7 @@ pages/documentation/current/authremote.html
pages/documentation/current/authrest.html 68 43 26 26 246 205 154 154 1566 1230 869 869 1709 1355 978 978
pages/documentation/current/authsaml.html 147 39 73 18 943 198 745 152 5653 1452 4154 1014 6393 1578 4805 1138
pages/documentation/current/authslave.html 54 13 22 5 282 61 211 41 1643 410 1123 235 1850 440 1305 265
pages/documentation/current/authssl.html 205 135 134 94 1032 522 849 425 7064 4071 5582 3211 7703 4331 6175 3459
pages/documentation/current/authssl.html 205 135 132 92 1032 522 847 423 7064 4071 5578 3207 7703 4331 6171 3455
pages/documentation/current/authtwitter.html 44 9 18 3 206 23 132 7 1404 204 786 74 1532 204 886 74
pages/documentation/current/authwebid.html 70 16 30 5 304 45 188 20 2066 460 1247 250 2238 468 1372 256
pages/documentation/current/authyubikey.html 49 13 25 7 247 66 181 50 1570 420 1004 290 1736 457 1146 327
@ -91,7 +93,7 @@ pages/documentation/current/captcha.html
pages/documentation/current/cda.html 50 23 22 11 267 115 199 82 1668 760 1072 463 1848 824 1238 525
pages/documentation/current/changeconfbackend.html 48 21 32 14 170 45 135 26 1234 484 1011 333 1323 486 1094 333
pages/documentation/current/configapache.html 34 19 25 13 194 65 173 49 1284 470 1125 339 1390 501 1231 370
pages/documentation/current/configlocation.html 479 204 358 128 2366 666 2069 507 16459 6024 14024 4469 18293 6409 15700 4784
pages/documentation/current/configlocation.html 453 249 330 170 2310 901 2016 739 16194 7795 13790 6235 18000 8369 15434 6730
pages/documentation/current/confignginx.html 46 32 24 17 261 194 205 149 1930 1531 1531 1196 2056 1613 1642 1263
pages/documentation/current/configvhost.html 247 145 107 60 985 409 603 205 7882 4432 4296 2120 8583 4650 4732 2218
pages/documentation/current/customfunctions.html 65 33 39 18 319 99 253 63 2366 973 1822 607 2568 1012 2006 644
@ -143,15 +145,15 @@ pages/documentation/current/icons/neotux.png_documentation_2.0_start.html
pages/documentation/current/icons/personal.png_documentation_2.0_start.html 38 34 5 4 86 80 12 10 675 640 153 135 684 649 154 136
pages/documentation/current/icons/utilities.png_documentation_2.0_start.html 38 34 5 4 87 81 13 11 683 647 158 139 692 656 159 140
pages/documentation/current/icons/xeyes.png_documentation_2.0_start.html 38 34 5 4 86 80 12 10 651 619 138 123 660 628 139 124
pages/documentation/current/idpcas.html 67 22 29 6 422 76 323 32 2586 701 1674 273 2899 715 1959 287
pages/documentation/current/idpopenid.html 102 36 43 6 543 98 357 28 3496 891 2014 206 3833 908 2298 221
pages/documentation/current/idpcas.html 62 18 27 5 397 66 306 30 2380 584 1558 246 2679 598 1829 260
pages/documentation/current/idpopenid.html 97 32 43 6 518 88 357 28 3290 774 2014 206 3613 791 2298 221
pages/documentation/current/idpopenidconnect.html 241 136 122 79 787 261 562 167 5527 2640 3817 1731 6028 2740 4254 1828
pages/documentation/current/idpsaml.html 167 64 44 11 875 237 477 118 5927 2190 2875 938 6494 2247 3246 993
pages/documentation/current/installdeb.html 132 37 95 28 572 116 484 91 3913 990 3289 798 4268 1030 3615 836
pages/documentation/current/installrpm.html 140 38 52 9 631 121 301 39 4228 1011 2085 307 4635 1033 2301 311
pages/documentation/current/installdeb.html 133 39 96 30 579 138 491 113 3907 1094 3283 902 4270 1154 3617 960
pages/documentation/current/installrpm.html 143 41 55 12 676 166 346 84 4535 1318 2390 612 4962 1360 2626 636
pages/documentation/current/installsles.html 177 88 65 57 1171 676 718 611 8827 5662 5678 5031 9780 6230 6321 5583
pages/documentation/current/installtarball.html 115 29 79 13 588 92 495 50 3848 855 3200 507 4228 869 3549 519
pages/documentation/current/issuerdbget.html 56 41 25 25 352 283 236 236 2267 1870 1429 1429 2502 2054 1613 1613
pages/documentation/current/issuerdbget.html 51 37 25 25 327 273 236 236 2061 1753 1429 1429 2282 1937 1613 1613
pages/documentation/current/jsonfileconfbackend.html 23 13 6 3 101 31 31 7 759 342 249 98 816 342 268 98
pages/documentation/current/kerberos.html 264 106 159 72 1416 391 1122 302 8871 3574 6742 2720 9890 3788 7625 2904
pages/documentation/current/ldapconfbackend.html 64 16 36 5 397 64 344 39 2743 627 2261 399 2996 645 2505 415
@ -161,7 +163,7 @@ pages/documentation/current/lib/exe/opensearch.html
pages/documentation/current/loginhistory.html 32 15 18 6 274 77 243 53 1553 562 1280 345 1778 603 1504 386
pages/documentation/current/logoutforward.html 30 11 9 1 178 28 129 3 1065 287 633 31 1192 287 750 31
pages/documentation/current/logs.html 83 73 62 56 500 447 448 400 2972 2668 2619 2344 3349 3007 2982 2669
pages/documentation/current/managerprotection.html 73 20 50 9 464 84 400 56 2832 698 2265 405 3146 729 2574 436
pages/documentation/current/managerprotection.html 73 20 51 9 464 84 402 56 2832 698 2280 405 3146 729 2590 436
pages/documentation/current/memcachedsessionbackend.html 48 13 18 3 197 33 122 7 1568 405 840 110 1654 405 925 110
pages/documentation/current/mongodbconfbackend.html 56 46 36 36 232 221 193 193 1759 1688 1415 1415 1895 1823 1550 1550
pages/documentation/current/mongodbsessionbackend.html 62 50 19 18 224 188 124 101 1739 1534 837 713 1842 1614 928 782
@ -170,42 +172,45 @@ pages/documentation/current/mrtg.html
pages/documentation/current/mysqlminihowto.html 34 19 13 6 131 44 73 13 1029 526 525 179 1089 526 569 179
pages/documentation/current/nodehandler.html 16 14 7 7 51 48 28 28 429 414 228 228 443 428 242 242
pages/documentation/current/nosqlsessionbackend.html 37 11 8 1 163 27 63 3 1223 295 419 37 1291 295 463 37
pages/documentation/current/notifications.html 190 69 129 50 1396 389 1243 343 8638 2661 7427 2226 9674 2909 8404 2465
pages/documentation/current/notifications.html 190 69 131 50 1396 389 1249 343 8638 2661 7453 2226 9674 2909 8433 2465
pages/documentation/current/openidconnectclaims.html 80 45 4 4 102 61 10 10 813 577 117 117 820 579 119 119
pages/documentation/current/openidconnectservice.html 108 83 61 58 539 494 437 433 3487 3138 2632 2591 3856 3494 2978 2936
pages/documentation/current/openidconnectservice.html 81 61 49 46 434 398 361 357 2643 2364 2042 2001 2941 2654 2326 2284
pages/documentation/current/parameterlist.html 678 62 377 44 1080 209 864 169 8657 1429 6554 987 9223 1551 7027 1109
pages/documentation/current/passwordstore.html 38 16 14 2 186 36 142 4 1111 323 724 37 1242 325 853 37
pages/documentation/current/performances.html 301 195 208 150 1756 896 1339 779 10930 5737 8144 4876 12181 6342 9136 5415
pages/documentation/current/portal.html 113 62 46 11 454 158 310 47 3254 1562 1822 365 3516 1588 2075 391
pages/documentation/current/portalcustom.html 135 67 96 52 917 440 825 407 5086 2575 4382 2286 5836 2909 5094 2616
pages/documentation/current/portal.html 120 71 51 17 488 200 339 83 3537 1906 2037 635 3820 1960 2310 688
pages/documentation/current/portalcustom.html 138 70 99 55 980 503 888 470 5385 2874 4681 2585 6196 3269 5454 2976
pages/documentation/current/portalmenu.html 50 16 32 6 294 81 254 57 1855 589 1503 372 2069 636 1714 419
pages/documentation/current/prereq.html 144 72 97 57 534 326 422 284 4406 3077 3582 2735 4684 3267 3832 2919
pages/documentation/current/public_pages.html 54 43 28 28 233 216 161 161 1597 1446 1025 1025 1697 1542 1118 1118
pages/documentation/current/portalservers.html 44 34 19 19 145 133 96 96 1025 926 619 619 1106 1007 690 690
pages/documentation/current/prereq.html 142 87 102 70 489 323 394 278 3765 2732 3072 2362 4010 2901 3291 2523
pages/documentation/current/public_pages.html 38 33 21 21 196 187 138 138 1316 1254 874 874 1393 1329 949 949
pages/documentation/current/rbac.html 87 56 55 41 472 336 386 294 2881 2006 2250 1723 3195 2225 2532 1931
pages/documentation/current/redirections.html 49 20 30 12 476 213 426 193 2837 1376 2457 1200 3229 1530 2831 1354
pages/documentation/current/register.html 33 27 17 17 193 182 158 158 1049 965 752 752 1194 1106 893 893
pages/documentation/current/resetpassword.html 90 37 61 21 672 231 596 185 4364 1915 3651 1432 4814 2022 4092 1539
pages/documentation/current/restsessionbackend.html 70 48 36 33 419 362 358 329 2740 2323 2210 1979 3046 2601 2507 2255
pages/documentation/current/resetpassword.html 72 26 46 12 586 182 528 149 3210 1057 2702 734 3678 1188 3161 865
pages/documentation/current/restconfbackend.html 14 12 4 4 63 60 40 40 425 410 223 223 459 444 257 257
pages/documentation/current/restservices.html 20 17 7 7 86 81 56 56 566 538 302 302 611 583 347 347
pages/documentation/current/restsessionbackend.html 70 48 36 33 420 363 359 330 2751 2334 2221 1990 3057 2612 2518 2266
pages/documentation/current/safejail.html 35 13 17 1 125 31 85 3 852 302 485 26 916 302 549 26
pages/documentation/current/samlservice.html 329 104 167 49 1650 385 1228 269 10587 2864 7381 1833 11781 3095 8386 2044
pages/documentation/current/samlservice.html 307 90 160 47 1577 345 1183 253 10037 2551 7072 1737 11188 2763 8041 1934
pages/documentation/current/securetoken.html 54 28 20 10 312 123 233 89 2046 977 1454 673 2282 1050 1660 744
pages/documentation/current/security.html 247 104 152 62 1404 484 1175 378 9244 4011 7211 2823 10262 4303 8176 3102
pages/documentation/current/selfmadeapplication.html 72 23 37 9 343 99 262 65 2265 784 1496 411 2469 829 1689 454
pages/documentation/current/selinux.html 26 24 14 14 77 74 47 47 556 541 349 349 591 576 377 377
pages/documentation/current/selfmadeapplication.html 79 52 49 38 313 222 246 188 2138 1458 1464 1085 2326 1600 1647 1225
pages/documentation/current/selinux.html 30 28 17 17 88 85 55 55 630 615 411 411 672 657 444 444
pages/documentation/current/server_to_server.png_documentation_2.0_servertoserver.html 38 35 13 13 89 85 44 44 790 773 404 404 799 782 411 411
pages/documentation/current/servertoserver.html 31 29 18 18 185 182 157 157 1128 1113 862 862 1263 1248 997 997
pages/documentation/current/sessions.html 51 26 31 14 371 154 327 124 2163 1008 1800 745 2452 1106 2085 843
pages/documentation/current/soapconfbackend.html 42 22 23 11 210 121 158 92 1496 906 1110 655 1661 997 1258 742
pages/documentation/current/soapconfbackend.html 40 24 24 14 204 139 163 115 1474 1048 1149 832 1636 1167 1299 949
pages/documentation/current/soapminihowto.html 35 19 14 5 162 67 107 33 1087 560 621 209 1182 584 706 233
pages/documentation/current/soapservices.html 66 22 30 6 342 103 235 66 2377 756 1474 363 2602 813 1654 420
pages/documentation/current/soapservices.html 44 22 22 4 247 103 177 41 1736 750 1174 238 1895 805 1310 272
pages/documentation/current/soapsessionbackend.html 56 31 18 13 386 247 265 180 2545 1653 1623 1123 2838 1840 1856 1277
pages/documentation/current/sqlconfbackend.html 69 32 44 20 319 122 258 92 2082 915 1574 639 2299 976 1776 695
pages/documentation/current/sqlsessionbackend.html 119 34 55 15 559 167 363 109 3775 1099 2197 621 4083 1206 2458 710
pages/documentation/current/sqlsessionbackend.html 136 44 65 24 601 197 392 137 4037 1290 2385 801 4368 1415 2663 907
pages/documentation/current/ssocookie.html 60 17 32 4 436 67 364 36 2393 502 1871 238 2740 530 2195 266
pages/documentation/current/start.html 785 483 176 119 1823 1260 803 511 16004 12119 5496 3735 16651 12433 6019 4030
pages/documentation/current/start.html 813 506 180 123 1914 1330 834 542 16768 12768 5704 3943 17454 13102 6246 4257
pages/documentation/current/status.html 62 21 30 7 312 71 248 41 2008 539 1486 300 2182 565 1654 324
pages/documentation/current/u2f.html 53 45 28 28 305 290 245 245 1935 1812 1439 1439 2145 2016 1639 1639
pages/documentation/current/upgrade.html 132 118 62 62 648 622 488 488 4222 3996 2727 2727 4667 4436 3135 3135
pages/documentation/current/variables.html 174 53 96 31 524 136 401 90 3315 1013 2335 605 3640 1072 2635 660
pages/documentation/current/writingrulesand_headers.html 169 91 89 43 846 488 680 382 5523 3402 3947 2265 6121 3738 4515 2593
pages/documentation/current/u2f.html 55 47 29 29 352 337 291 291 2186 2063 1680 1680 2441 2312 1925 1925
pages/documentation/current/upgrade.html 150 132 72 72 735 701 559 559 4803 4519 3176 3176 5312 5019 3642 3642
pages/documentation/current/variables.html 174 53 97 32 524 136 402 91 3315 1013 2342 612 3640 1072 2642 667
pages/documentation/current/writingrulesand_headers.html 170 92 90 44 858 500 692 394 5591 3470 4015 2333 6200 3817 4594 2672
pages/documentation/current/yamlconfbackend.html 18 14 4 4 76 51 27 27 570 431 191 191 609 450 210 210

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,applications"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="applications.html"/>
@ -152,9 +152,15 @@ Les applications listées ci-dessous sont connues pour être faciles à intégre
<tr class="row1 rowodd">
<td class="col0 centeralign"> <a href="applications/grr.html" class="media" title="documentation:2.0:applications:grr"><img src="icons/kmultiple.png" class="media" alt="" /></a> </td><td class="col1 centeralign"> <a href="applications/phpldapadmin.html" class="media" title="documentation:2.0:applications:phpldapadmin"><img src="icons/kmultiple.png" class="media" alt="" /></a> </td><td class="col2 centeralign"> <a href="applications/limesurvey.html" class="media" title="documentation:2.0:applications:limesurvey"><img src="icons/kmultiple.png" class="media" title="LimeSurvey" alt="LimeSurvey" width="120" /></a> </td><td class="col3 centeralign"> <a href="http://help.sap.com/saphelp_nw70/helpdata/en/d0/a3d940c2653126e10000000a1550b0/frameset.htm" class="media" title="http://help.sap.com/saphelp_nw70/helpdata/en/d0/a3d940c2653126e10000000a1550b0/frameset.htm" rel="nofollow"><img src="icons/kmultiple.png" class="media" title="SAP" alt="SAP" /></a> </td>
</tr>
</table></div><!-- EDIT12 TABLE [1252-1655] -->
<tr class="row2 roweven">
<th class="col0 centeralign"> FusionDirectory </th><th class="col1"> </th><th class="col2"> </th><th class="col3"> </th>
</tr>
<tr class="row3 rowodd">
<td class="col0 centeralign"> <a href="applications/fusiondirectory.html" class="media" title="documentation:2.0:applications:fusiondirectory"><img src="icons/kmultiple.png" class="media" title="fusiondirectory-logo.jpg" alt="fusiondirectory-logo.jpg" width="120" /></a> </td><td class="col1"> </td><td class="col2"> </td><td class="col3"> </td>
</tr>
</table></div><!-- EDIT12 TABLE [1252-1777] -->
</div><!-- EDIT11 SECTION "Other" [1235-1656] -->
</div><!-- EDIT11 SECTION "Other" [1235-1777] -->
<h2 class="sectionedit13" id="frameworks">Frameworks</h2>
<div class="level2">
@ -167,9 +173,9 @@ Les applications listées ci-dessous sont connues pour être faciles à intégre
<tr class="row1 rowodd">
<td class="col0 centeralign"> <a href="applications/spring.html" class="media" title="documentation:2.0:applications:spring"><img src="icons/kmultiple.png" class="media" alt="" /></a> </td><td class="col1 centeralign"> <a href="applications/django.html" class="media" title="documentation:2.0:applications:django"><img src="icons/kmultiple.png" class="media" alt="" /></a> </td>
</tr>
</table></div><!-- EDIT14 TABLE [1681-1848] -->
</table></div><!-- EDIT14 TABLE [1802-1969] -->
</div><!-- EDIT13 SECTION "Frameworks" [1657-1849] -->
</div><!-- EDIT13 SECTION "Frameworks" [1778-1970] -->
<h2 class="sectionedit15" id="connectors">Connecteurs</h2>
<div class="level2">
@ -190,9 +196,9 @@ Les applications listées ci-dessous sont connues pour être faciles à intégre
<a href="http://en.wikipedia.org/wiki/IBM_Lotus_iNotes" class="urlextern" title="http://en.wikipedia.org/wiki/IBM_Lotus_iNotes" rel="nofollow">IBM Lotus iNotes</a> </td><td class="col1 centeralign"> <a href="http://www.lambdaprobe.org" class="urlextern" title="http://www.lambdaprobe.org" rel="nofollow">Probe</a> <br/>
<a href="http://fr.lutece.paris.fr" class="urlextern" title="http://fr.lutece.paris.fr" rel="nofollow">Lutece</a> </td><td class="col2"> </td>
</tr>
</table></div><!-- EDIT16 TABLE [1874-2365] -->
</table></div><!-- EDIT16 TABLE [1995-2486] -->
</div><!-- EDIT15 SECTION "Connectors" [1850-2366] -->
</div><!-- EDIT15 SECTION "Connectors" [1971-2487] -->
<h2 class="sectionedit17" id="saml_connectors">Connecteurs SAML</h2>
<div class="level2">
@ -212,9 +218,9 @@ Les applications listées ci-dessous sont connues pour être faciles à intégre
<tr class="row3 rowodd">
<td class="col0 centeralign"> <a href="applications/nextcloud.html" class="media" title="documentation:2.0:applications:nextcloud"><img src="icons/kmultiple.png" class="media" alt="" /></a> </td><td class="col1 centeralign"> <a href="applications/adfs.html" class="media" title="documentation:2.0:applications:adfs"><img src="icons/kmultiple.png" class="media" alt="" /></a> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> </td>
</tr>
</table></div><!-- EDIT18 TABLE [2486-3028] -->
</table></div><!-- EDIT18 TABLE [2607-3149] -->
</div><!-- EDIT17 SECTION "SAML connectors" [2367-] -->
</div><!-- EDIT17 SECTION "SAML connectors" [2488-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,applications,django"/>
<link rel="search" type="application/opensearchdescription+xml" href="../lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="django.html"/>
@ -63,7 +63,8 @@
<div class="level2">
<p>
Le connecteur Django est disponible sur GitHub : <a href="https://github.com/9h37/django-lemonldap" class="urlextern" title="https://github.com/9h37/django-lemonldap" rel="nofollow">https://github.com/9h37/django-lemonldap</a>
The Django connector is available on GitHub: <a href="https://github.com/rclsilver/django-lemonldap" class="urlextern" title="https://github.com/rclsilver/django-lemonldap" rel="nofollow">https://github.com/rclsilver/django-lemonldap</a>
</p>
<p>

View File

@ -0,0 +1,120 @@
<!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8" />
<title>documentation:2.0:applications:fusiondirectory</title><!-- //if:usedebianlibs
<link rel="stylesheet" type="text/css" href="/javascript/bootstrap/css/bootstrap.min.css" />
//elsif:useexternallibs
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"></script>
//elsif:cssminified
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,applications,fusiondirectory"/>
<link rel="search" type="application/opensearchdescription+xml" href="../lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="fusiondirectory.html"/>
<link rel="contents" href="fusiondirectory.html" title="Sitemap"/>
<link rel="stylesheet" type="text/css" href="../lib/exe/css.php.t.bootstrap3.css"/>
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.css" />
<script type="text/javascript">/*<![CDATA[*/var NS='documentation:2.0:applications';var JSINFO = {"id":"documentation:2.0:applications:fusiondirectory","namespace":"documentation:2.0:applications"};
/*!]]>*/</script>
<script type="text/javascript" charset="utf-8" src="../lib/exe/js.php.t.bootstrap3.js"></script><!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.js"></script><!-- //endif --><!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery-ui/jquery-ui.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/lib/scripts/jquery-ui.min.js"></script>
//else -->
<script type="text/javascript" src="/lib/scripts/jquery-ui.js"></script><!-- //endif -->
</head>
<body>
<div class="dokuwiki export container"><!-- TOC START -->
<div id="dw__toc">
<h3 class="toggle">Table of Contents</h3>
<div>
<ul class="toc">
<li class="level1"><div class="li"><a href="#presentation">Présentation</a></div></li>
<li class="level1"><div class="li"><a href="#configuration">Configuration</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#fusiondirectory1">FusionDirectory</a></div></li>
<li class="level2"><div class="li"><a href="#llng">LL::NG</a></div></li>
</ul></li>
</ul>
</div>
</div><!-- TOC END -->
<h1 class="sectionedit1" id="fusiondirectory">FusionDirectory</h1>
<div class="level1">
<p>
<img src="fusiondirectory-logo.jpeg" class="mediacenter" alt="" />
</p>
</div><!-- EDIT1 SECTION "FusionDirectory" [1-85] -->
<h2 class="sectionedit2" id="presentation">Présentation</h2>
<div class="level2">
<p>
<a href="https://www.fusiondirectory.org/" class="urlextern" title="https://www.fusiondirectory.org/" rel="nofollow">FusionDirectory</a> provides a solution to daily management of data stored in an LDAP directory.
</p>
</div><!-- EDIT2 SECTION "Presentation" [86-242] -->
<h2 class="sectionedit3" id="configuration">Configuration</h2>
<div class="level2">
</div><!-- EDIT3 SECTION "Configuration" [243-269] -->
<h3 class="sectionedit4" id="fusiondirectory1">FusionDirectory</h3>
<div class="level3">
<p>
Go in Configuration and in Login and Session panel. Set:
</p>
<ul>
<li class="level1"><div class="li"> <strong>HTTP Header authentication</strong>: Activate</div>
</li>
<li class="level1"><div class="li"> <strong>Header name</strong>: Auth-User</div>
</li>
</ul>
<p>
See also <a href="https://documentation.fusiondirectory.org/en/documentation/admin_installation/core_configuration#login-and-session" class="urlextern" title="https://documentation.fusiondirectory.org/en/documentation/admin_installation/core_configuration#login-and-session" rel="nofollow">https://documentation.fusiondirectory.org/en/documentation/admin_installation/core_configuration#login-and-session</a>
</p>
</div><!-- EDIT4 SECTION "FusionDirectory" [270-555] -->
<h3 class="sectionedit5" id="llng">LL::NG</h3>
<div class="level3">
<p>
Renseigner simplement l'en-tête <code>Auth-User</code> avec l'attribut qui contient le nom de login, par exemple <code>$uid</code>.
</p>
</div><!-- EDIT5 SECTION "LL::NG" [556-] -->
</div>
</body>
</html>

View File

@ -90,7 +90,7 @@
<form action="/start" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>
<ul class="nav navbar-nav">
<li><a href="/documentation/2.0/applications/img/icons.png?do=login&amp;sectok=761151e5c98aa11e440c41e32546ca38" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
<li><a href="/documentation/2.0/applications/img/icons.png?do=login&amp;sectok=083d765a6c01244c897a27ed8b56cdd7" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div>
@ -204,7 +204,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aicons.png&amp;1492102688" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aicons.png&amp;1504111293" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>

View File

@ -90,7 +90,7 @@
<form action="/start" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>
<ul class="nav navbar-nav">
<li><a href="/documentation/2.0/applications/img/loader.gif?do=login&amp;sectok=761151e5c98aa11e440c41e32546ca38" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
<li><a href="/documentation/2.0/applications/img/loader.gif?do=login&amp;sectok=083d765a6c01244c897a27ed8b56cdd7" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div>
@ -204,7 +204,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aloader.gif&amp;1492102688" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Aapplications%3Aimg%3Aloader.gif&amp;1504111293" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,authapache"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="authapache.html"/>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,authcas"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="authcas.html"/>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,authcombination"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="authcombination.html"/>

View File

@ -303,8 +303,31 @@ Liste de colonnes à interroger pour trouver la session utilisateur. Voir aussi
<ul>
<li class="level1"><div class="li"> <strong>Schéma de hachage</strong> : méthode SQL pour hacher les mots-de-passe. Peut être vide pour le stockage des mots-de-passe en clair.</div>
</li>
<li class="level1"><div class="li"> <strong>Dynamic hash activation</strong>: Activate dynamic hashing. With dynamic hashing, the hash scheme is recovered from the user password in the database during authentication.</div>
</li>
<li class="level1"><div class="li"> <strong>Supported non-salted schemes</strong>: List of whitespace separated hash schemes. Every hash scheme MUST match a non-salted hash function in the database. LemonLDAP::NG relies on this hashing function for computing user password hashes. These hashes MUST NOT be salted (no random data used in conjunction with the password).</div>
</li>
<li class="level1"><div class="li"> <strong>Supported salted schemes</strong>: List of whitespace separated salted hash schemes, of the form “<strong>s</strong>scheme”, where scheme MUST match a non-salted hash function in the database. LemonLDAP::NG relies on this hashing function for computing user password hashes. Salted and non-salted scheme lists are not necessarily equivalent. (for example: non-salted=“sha256” and salted=“ssha ssha512” is valid)</div>
</li>
<li class="level1"><div class="li"> <strong>Dynamic hash scheme for new passwords</strong>: LemonLDAP::NG is able to store new passwords in the database (while modifying or reinitializing the password). You can choose a salted or non salted dynamic hashed password. The value must be an element of “Supported non-salted schemes” or “Supported salted schemes”.</div>
</li>
</ul>
<div class="noteimportant">The SQL function MUST have hexadecimal values as input AND output
</div><div class="notetip">Here is an example for creating a postgreSQL SHA256 function.
1. Install postgresql-contrib.
2. Activate extension: <pre class="code">CREATE EXTENSION pgcrypto;</pre>
<p>
3. Create the hash function:
</p>
<pre class="code">CREATE OR REPLACE FUNCTION sha256(varchar) returns text AS $$
SELECT encode(digest(decode($1, 'hex'), 'sha256'), 'hex')
$$ LANGUAGE SQL STRICT IMMUTABLE;</pre>
</div>
</div><!-- EDIT15 SECTION "Password" [3489-] -->
</div>
</body>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,authkerberos"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="authkerberos.html"/>

View File

@ -159,7 +159,7 @@ Liste d'attributs à interroger pour trouver la session utilisateur. Voir aussi
</li>
<li class="level2"><div class="li"> Pour utiliser TLS, utiliser <code>ldap+tls://server</code> et pour utiliser LDAPS, indiquer <code>ldaps://server</code> au lieu du nom de serveur.</div>
</li>
<li class="level2"><div class="li"> En utilisant TLS, il est possible d'utiliser toutes les options de la fonction start_tls() <a href="http://search.cpan.org/~gbarr/perl-ldap/lib/Net/LDAP.pod" class="urlextern" title="http://search.cpan.org/~gbarr/perl-ldap/lib/Net/LDAP.pod" rel="nofollow">Net::LDAP</a> telle <code>ldap+tls://server/verify=none&amp;capath=/etc/ssl</code>. On peut également utiliser les paramètres caFile et caPath.</div>
<li class="level2"><div class="li"> En utilisant TLS, il est possible d'utiliser toutes les options de la fonction start_tls() <a href="http://search.cpan.org/~gbarr/perl-ldap/lib/Net/LDAP.pod" class="urlextern" title="http://search.cpan.org/~gbarr/perl-ldap/lib/Net/LDAP.pod" rel="nofollow">Net::LDAP</a> telle <code>ldap+tls://server/verify=none&amp;capath=/etc/ssl</code>. You can also use cafile and capath parameters.</div>
</li>
</ul>
</li>

View File

@ -0,0 +1,113 @@
<!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8" />
<title>documentation:2.0:authlinkedin</title><!-- //if:usedebianlibs
<link rel="stylesheet" type="text/css" href="/javascript/bootstrap/css/bootstrap.min.css" />
//elsif:useexternallibs
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"></script>
//elsif:cssminified
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,authlinkedin"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="authlinkedin.html"/>
<link rel="contents" href="authlinkedin.html" title="Sitemap"/>
<link rel="stylesheet" type="text/css" href="lib/exe/css.php.t.bootstrap3.css"/>
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.css" />
<script type="text/javascript">/*<![CDATA[*/var NS='documentation:2.0';var JSINFO = {"id":"documentation:2.0:authlinkedin","namespace":"documentation:2.0"};
/*!]]>*/</script>
<script type="text/javascript" charset="utf-8" src="lib/exe/js.php.t.bootstrap3.js"></script><!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.js"></script><!-- //endif --><!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery-ui/jquery-ui.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/lib/scripts/jquery-ui.min.js"></script>
//else -->
<script type="text/javascript" src="/lib/scripts/jquery-ui.js"></script><!-- //endif -->
</head>
<body>
<div class="dokuwiki export container">
<h1 class="sectionedit1" id="linkedin">LinkedIn</h1>
<div class="level1">
<div class="table sectionedit2"><table class="inline table table-bordered table-striped">
<thead>
<tr class="row0 roweven">
<th class="col0 centeralign"> Authentification </th><th class="col1 centeralign"> Utilisateurs </th><th class="col2 centeralign"> Mot-de-passe </th>
</tr>
</thead>
<tr class="row1 rowodd">
<td class="col0 centeralign"></td><td class="col1 leftalign"> </td><td class="col2 leftalign"> </td>
</tr>
</table></div><!-- EDIT2 TABLE [25-84] -->
</div><!-- EDIT1 SECTION "LinkedIn" [1-85] -->
<h2 class="sectionedit3" id="presentation">Présentation</h2>
<div class="level2">
<p>
<a href="https://www.linkedin.com/" class="urlextern" title="https://www.linkedin.com/" rel="nofollow">LinkedIn</a> is a professional social network. It uses <a href="http://en.wikipedia.org/wiki/OAuth2" class="urlextern" title="http://en.wikipedia.org/wiki/OAuth2" rel="nofollow">OAuth2</a> protocol to allow applications to reuse its own authentication process (see <a href="https://developer.linkedin.com/docs/oauth2" class="urlextern" title="https://developer.linkedin.com/docs/oauth2" rel="nofollow">https://developer.linkedin.com/docs/oauth2</a>).
</p>
<p>
You need to register a new application on LinkedIn to get an application ID and a secret. See <a href="https://www.linkedin.com/developer/apps/" class="urlextern" title="https://www.linkedin.com/developer/apps/" rel="nofollow">https://www.linkedin.com/developer/apps/</a> on how to do that.
</p>
</div><!-- EDIT3 SECTION "Presentation" [86-526] -->
<h2 class="sectionedit4" id="configuration">Configuration</h2>
<div class="level2">
<p>
In Manager, go in <code>General Parameters</code> &gt; <code>Authentication modules</code> and choose LinkedIn for authentication module.
</p>
<p>
Then, go in <code>LinkedIn parameters</code>:
</p>
<ul>
<li class="level1"><div class="li"> <strong>Niveau d'authentification</strong> : niveau d'authentification accordé à ce module.</div>
</li>
<li class="level1"><div class="li"> <strong>Client ID</strong>: the application ID you get</div>
</li>
<li class="level1"><div class="li"> <strong>Client secret</strong>: the corresponding secret</div>
</li>
<li class="level1"><div class="li"> <strong>Searched fields</strong>: Fields requested on People endpoint</div>
</li>
<li class="level1"><div class="li"> <strong>Field containing user identifier</strong>: Field that will be used as main user identifier in <abbr title="LemonLDAP::NG">LL::NG</abbr></div>
</li>
<li class="level1"><div class="li"> <strong>Scope</strong>: OAuth 2.0 scopes</div>
</li>
</ul>
<div class="notetip">Collected fields are stored in session in <code>linkedIn_</code> keys
</div>
</div><!-- EDIT4 SECTION "Configuration" [527-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,authssl"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="authssl.html"/>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,configlocation"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="configlocation.html"/>
@ -284,7 +284,7 @@ Quelques exemples:
LemonLDAP::NG fournit 3 fichiers de configuration Apache :
</p>
<ul>
<li class="level1"><div class="li"> <strong>portal-apache2.conf</strong> : hôte virtuel du portail, incluant les points d'accès SOAP et fournisseur d'identité</div>
<li class="level1"><div class="li"> <strong>portal-apache2.conf</strong>: Portal virtual host, with SOAP/REST end points</div>
</li>
<li class="level1"><div class="li"> <strong>manager-apache2.conf</strong> : hôte virtuel du manager</div>
</li>
@ -295,9 +295,8 @@ LemonLDAP::NG fournit 3 fichiers de configuration Apache :
<p>
Voir <a href="configapache.html" class="wikilink1" title="documentation:2.0:configapache">comment les déployer</a>.
</p>
<div class="notewarning">Mod Perl doit être chargé avant LemonLDAP::NG, donc les inclusions aprèsla directive <code>LoadModule</code> de mod_perl.
</div>
</div><!-- EDIT6 SECTION "Apache" [6289-6831] -->
</div><!-- EDIT6 SECTION "Apache" [6289-6687] -->
<h3 class="sectionedit7" id="portal">Portail</h3>
<div class="level3">
@ -314,100 +313,64 @@ Dans l'hôte virtuel du portail se trouve plusieurs éléments de configuration
<span class="co1"># DocumentRoot</span>
<span class="kw1">DocumentRoot</span> /usr/local/lemonldap-ng/htdocs/portal/
&lt;<span class="kw3">Directory</span> /usr/local/lemonldap-ng/htdocs/portal/&gt;
<span class="kw1">Order</span> <span class="kw1">allow</span>,<span class="kw1">deny</span>
<span class="kw1">Allow</span> from <span class="kw2">all</span>
<span class="kw1">Options</span> +ExecCGI
<span class="kw1">Require</span> <span class="kw2">all</span> granted
<span class="kw1">Options</span> +ExecCGI +<span class="kw2">FollowSymLinks</span>
&lt;/<span class="kw3">Directory</span>&gt;
<span class="co1"># For performances, you can put static html files: simply put the HTML</span>
<span class="co1"># result (example: /oauth2/checksession.html) as static file. Then</span>
<span class="co1"># uncomment the following line.</span>
<span class="co1"># RewriteCond "%{REQUEST_FILENAME}" "!\.html$"</span>
<span class="kw1">RewriteCond</span> <span class="st0">"%{REQUEST_FILENAME}"</span> <span class="st0">"!^/(?:(?:static|javascript|favicon).*|.*<span class="es0">\.</span>fcgi)$"</span>
<span class="kw1">RewriteRule</span> <span class="st0">"^/(.+)$"</span> <span class="st0">"/index.fcgi/$1"</span> [PT]
&nbsp;
<span class="co1"># Perl script</span>
&lt;<span class="kw3">Files</span> *.pl&gt;
<span class="kw1">SetHandler</span> perl-<span class="kw1">script</span>
PerlResponseHandler ModPerl::Registry
<span class="co1"># Note that Content-Security-Policy header is generated by portal itself</span>
&lt;<span class="kw3">Files</span> *.fcgi&gt;
<span class="kw1">SetHandler</span> fcgid-<span class="kw1">script</span>
<span class="co1">#CGIPassAuth on</span>
<span class="kw1">Options</span> +ExecCGI
&lt;/<span class="kw3">Files</span>&gt;
&nbsp;
<span class="co1"># Directory index</span>
<span class="co1"># Static files</span>
<span class="kw1">Alias</span> /static/ __PORTALSTATICDIR__/
&lt;<span class="kw3">Directory</span> __PORTALSTATICDIR__&gt;
<span class="kw1">Require</span> <span class="kw2">all</span> granted
<span class="kw1">Options</span> +<span class="kw2">FollowSymLinks</span>
&lt;/<span class="kw3">Directory</span>&gt;
&lt;<span class="kw3">Location</span> /static/&gt;
&lt;<span class="kw3">IfModule</span> mod_expires.c&gt;
<span class="kw1">ExpiresActive</span> <span class="kw2">On</span>
<span class="kw1">ExpiresDefault</span> <span class="st0">"access plus 1 month"</span>
&lt;/<span class="kw3">IfModule</span>&gt;
&lt;/<span class="kw3">Location</span>&gt;
&nbsp;
&lt;<span class="kw3">IfModule</span> mod_dir.c&gt;
<span class="kw1">DirectoryIndex</span> index.pl index.html
<span class="kw1">DirectoryIndex</span> index.fcgi index.html
&lt;/<span class="kw3">IfModule</span>&gt;</pre>
<ul>
<li class="level1"><div class="li"> Points d'accès SOAP (désactivés par défaut) :</div>
<li class="level1"><div class="li"> REST/SOAP end points (inactivated by default):</div>
</li>
</ul>
<pre class="code file apache"> <span class="co1"># Gestion des fonctions SOAP functions pour la gestion des sessions (désactivée par défaut)</span>
&lt;<span class="kw3">Location</span> /index.pl/adminSessions&gt;
<span class="kw1">Order</span> <span class="kw1">deny</span>,<span class="kw1">allow</span>
<span class="kw1">Deny</span> from <span class="kw2">all</span>
<pre class="code file apache"> <span class="co1"># REST/SOAP functions for sessions management (disabled by default)</span>
&lt;<span class="kw3">Location</span> /index.fcgi/adminSessions&gt;
<span class="kw1">Require</span> <span class="kw2">all</span> denied
&lt;/<span class="kw3">Location</span>&gt;
&nbsp;
<span class="co1"># Fonctions SOAP pour l'accès aux sessions (désactivées par défaut)</span>
&lt;<span class="kw3">Location</span> /index.pl/sessions&gt;
<span class="kw1">Order</span> <span class="kw1">deny</span>,<span class="kw1">allow</span>
<span class="kw1">Deny</span> from <span class="kw2">all</span>
<span class="co1"># REST/SOAP functions for sessions access (disabled by default)</span>
&lt;<span class="kw3">Location</span> /index.fcgi/sessions&gt;
<span class="kw1">Require</span> <span class="kw2">all</span> denied
&lt;/<span class="kw3">Location</span>&gt;
&nbsp;
<span class="co1"># Fonctions SOAP pour accéder à la configuration (désactivées par défaut)</span>
&lt;<span class="kw3">Location</span> /index.pl/config&gt;
<span class="kw1">Order</span> <span class="kw1">deny</span>,<span class="kw1">allow</span>
<span class="kw1">Deny</span> from <span class="kw2">all</span>
<span class="co1"># REST/SOAP functions for configuration access (disabled by default)</span>
&lt;<span class="kw3">Location</span> /index.fcgi/config&gt;
<span class="kw1">Require</span> <span class="kw2">all</span> denied
&lt;/<span class="kw3">Location</span>&gt;
&nbsp;
<span class="co1"># Fonctions SOAP pour insérer des notifications (désactivées par défaut)</span>
&lt;<span class="kw3">Location</span> /index.pl/notification&gt;
<span class="kw1">Order</span> <span class="kw1">deny</span>,<span class="kw1">allow</span>
<span class="kw1">Deny</span> from <span class="kw2">all</span>
<span class="co1"># REST/SOAP functions for notification insertion (disabled by default)</span>
&lt;<span class="kw3">Location</span> /index.fcgi/notification&gt;
<span class="kw1">Require</span> <span class="kw2">all</span> denied
&lt;/<span class="kw3">Location</span>&gt;</pre>
<ul>
<li class="level1"><div class="li"> Règles de réécriture pour la fourniture d'identité (requiert <code>mod_rewrite</code>):</div>
</li>
</ul>
<pre class="code file apache"> <span class="co1"># Fournisseur d'identité SAML2</span>
&lt;<span class="kw3">IfModule</span> mod_rewrite.c&gt;
<span class="kw1">RewriteEngine</span> <span class="kw2">On</span>
<span class="kw1">RewriteRule</span> ^/saml/metadata /metadata.pl
<span class="kw1">RewriteRule</span> ^/saml/.* /index.pl
&lt;/<span class="kw3">IfModule</span>&gt;
&nbsp;
<span class="co1"># Fournisseur d'identité CAS</span>
&lt;<span class="kw3">IfModule</span> mod_rewrite.c&gt;
<span class="kw1">RewriteEngine</span> <span class="kw2">On</span>
<span class="kw1">RewriteRule</span> ^/cas/.* /index.pl
&lt;/<span class="kw3">IfModule</span>&gt;
&nbsp;
<span class="co1"># Fournisseur d'identité OpenID</span>
&lt;<span class="kw3">IfModule</span> mod_rewrite.c&gt;
<span class="kw1">RewriteEngine</span> <span class="kw2">On</span>
<span class="kw1">RewriteRule</span> ^/openidserver/.* /index.pl
&lt;/<span class="kw3">IfModule</span>&gt;
&nbsp;
<span class="co1"># OpenID Connect Issuer</span>
&lt;<span class="kw3">IfModule</span> mod_rewrite.c&gt;
<span class="kw1">RewriteEngine</span> <span class="kw2">On</span>
<span class="kw1">RewriteRule</span> ^/oauth2/.* /index.pl
<span class="kw1">RewriteRule</span> ^/.well-known/openid-configuration$ /openid-configuration.pl
&lt;/<span class="kw3">IfModule</span>&gt;
&nbsp;
<span class="co1"># Get Issuer</span>
&lt;<span class="kw3">IfModule</span> mod_rewrite.c&gt;
<span class="kw1">RewriteEngine</span> <span class="kw2">On</span>
<span class="kw1">RewriteRule</span> ^/get/.* /index.pl
&lt;/<span class="kw3">IfModule</span>&gt;</pre>
<ul>
<li class="level1"><div class="li"> Quelques optimisations Perl :</div>
</li>
</ul>
<pre class="code file apache"><span class="co1"># Meilleures performances sous ModPerl::Registry</span>
<span class="co1"># A décommenter pour augmenter les performances du portail</span>
&lt;Perl&gt;
<span class="kw1">require</span> Lemonldap::NG::Portal::SharedConf;
Lemonldap::NG::Portal::SharedConf-&gt;compile(
qw(delete <span class="kw1">header</span> cache read_from_client cookie <span class="kw1">redirect</span> unescapeHTML));
<span class="co1"># Décommenter cette ligne si le menu Lemonldap::NG est utilisé</span>
<span class="kw1">require</span> Lemonldap::NG::Portal::Menu;
<span class="co1"># Décommenter cette ligne si les fonctions SOAP du portail sont utilisées</span>
<span class="kw1">require</span> SOAP::Lite;
&lt;/Perl&gt;</pre>
</div><!-- EDIT7 SECTION "Portal" [6832-9619] -->
</div><!-- EDIT7 SECTION "Portal" [6688-8788] -->
<h3 class="sectionedit8" id="manager1">Manager</h3>
<div class="level3">
@ -454,7 +417,7 @@ L'hôte virtuel du manager est utilisé pour servir l'interface de configuration
L'accès à l'interface de configuration n'est pas protégée par Apache mais par LemonLDAP::NG lui-même (voir <code>lemonldap-ng.ini</code>) :
</p>
</div><!-- EDIT8 SECTION "Manager" [9620-11170] -->
</div><!-- EDIT8 SECTION "Manager" [8789-10339] -->
<h3 class="sectionedit9" id="handler">Agent (Handler)</h3>
<div class="level3">
@ -469,7 +432,9 @@ PerlModule Lemonldap::NG::Handler</pre>
</li>
</ul>
<pre class="code file apache"><span class="kw1">ErrorDocument</span> <span class="nu0">403</span> http://auth.example.com/?lmError=<span class="nu0">403</span>
<span class="kw1">ErrorDocument</span> <span class="nu0">404</span> http://auth.example.com/?lmError=<span class="nu0">404</span>
<span class="kw1">ErrorDocument</span> <span class="nu0">500</span> http://auth.example.com/?lmError=<span class="nu0">500</span>
<span class="kw1">ErrorDocument</span> <span class="nu0">502</span> http://auth.example.com/?lmError=<span class="nu0">502</span>
<span class="kw1">ErrorDocument</span> <span class="nu0">503</span> http://auth.example.com/?lmError=<span class="nu0">503</span></pre>
<ul>
<li class="level1"><div class="li"> Hôte virtuel pour le rechargement :</div>
@ -503,7 +468,7 @@ Protéger ensuite un hôte virtuel standard, la seul ligne de configuration à a
</p>
<pre class="code file apache">PerlHeaderParserHandler Lemonldap::NG::Handler</pre>
</div><!-- EDIT9 SECTION "Handler" [11171-12364] -->
</div><!-- EDIT9 SECTION "Handler" [10340-11643] -->
<h2 class="sectionedit10" id="nginx">Nginx</h2>
<div class="level2">
@ -513,7 +478,7 @@ Protéger ensuite un hôte virtuel standard, la seul ligne de configuration à a
LemonLDAP::NG fournit 3 fichiers de configuration Nginx :
</p>
<ul>
<li class="level1"><div class="li"> <strong>portal-nginx.conf</strong> : hôte virtuel du portail, incluant les points d'accès SOAP et fournisseur d'identité</div>
<li class="level1"><div class="li"> <strong>portal-nginx.conf</strong>: Portal virtual host, with REST/SOAP end points</div>
</li>
<li class="level1"><div class="li"> <strong>manager-nginx.conf</strong> : hôte virtuel du manager</div>
</li>
@ -526,7 +491,7 @@ Voir <a href="confignginx.html" class="wikilink1" title="documentation:2.0:confi
</p>
<div class="notewarning">Le serveur <a href="fastcgiserver.html" class="wikilink1" title="documentation:2.0:fastcgiserver">FastCGI LL::NG</a> doit être lancé séparemment.
</div>
</div><!-- EDIT10 SECTION "Nginx" [12365-12824] -->
</div><!-- EDIT10 SECTION "Nginx" [11644-12097] -->
<h3 class="sectionedit11" id="portal1">Portail</h3>
<div class="level3">
@ -542,71 +507,63 @@ Dans l'hôte virtuel du portail se trouve plusieurs éléments de configuration
listen 80;
server_name auth.example.com;
root /var/lib/lemonldap-ng/portal/;
&nbsp;
location ~ \.pl(?:$|/) {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/llng-fastcgi-server/llng-fastcgi.sock;
fastcgi_param LLTYPE cgi;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
set $sn $request_uri;
if ($sn ~ "^(.*)\?") {
set $sn $1;
}
fastcgi_param SCRIPT_NAME $sn;
fastcgi_split_path_info ^(.*\.pl)(/.+)$;
if ($uri !~ ^/((static|javascript|favicon).*|.*\.psgi)) {
rewrite ^/(.*)$ /index.psgi/$1 break;
}
&nbsp;
index index.pl;
location ~ \.psgi(?:$|/) {
# Note that Content-Security-Policy header is generated by portal itself
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:__FASTCGISOCKDIR__/llng-fastcgi.sock;
fastcgi_param LLTYPE psgi;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.*\.psgi)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
# Uncomment this if you use Auth SSL:
#map $ssl_client_s_dn $ssl_client_s_dn_cn {
# default "";
# ~/CN=(?&lt;CN&gt;[^/]+) $CN;
#}
#fastcgi_param SSL_CLIENT_S_DN_CN $ssl_client_s_dn_cn
}
&nbsp;
index index.psgi;
location / {
try_files $uri $uri/ =404;
&nbsp;
# Uncomment this if you use https only
#add_header Strict-Transport-Security "15768000";
}
&nbsp;
location /static/ {
alias __PORTALSTATICDIR__;
}
}</pre>
<ul>
<li class="level1"><div class="li"> Points d'accès SOAP (désactivés par défaut) :</div>
<li class="level1"><div class="li"> REST/SOAP end points (inactivated by default):</div>
</li>
</ul>
<pre class="code file nginx"> # Fonctions SOAP pour la gestion des sessions (désactivée par défaut)
location /index/adminSessions {
<pre class="code file nginx"> # REST/SOAP functions for sessions management (disabled by default)
location /index.psgi/adminSessions {
deny all;
}
&nbsp;
# Fonctions SOAP pour l'accès aux sessions (désactivées par défaut)
location /index.pl/sessions {
# REST/SOAP functions for sessions access (disabled by default)
location /index.psgi/sessions {
deny all;
}
&nbsp;
# Fonctions SOAP pour accéder à la configuration (désactivées par défaut)
location /index.pl/config {
# REST/SOAP functions for configuration access (disabled by default)
location /index.psgi/config {
deny all;
}
&nbsp;
# Fonctions SOAP pour insérer des notifications (désactivées par défaut)
location /index.pl/notification {
# REST/SOAP functions for notification insertion (disabled by default)
location /index.psgi/notification {
deny all;
}</pre>
<ul>
<li class="level1"><div class="li"> Régles de réécriture des IdP</div>
</li>
</ul>
<pre class="code file nginx"> # Fournisseur d'identité SAML2
rewrite ^/saml/metadata /metadata.pl last;
rewrite ^/saml/.* /index.pl last;
&nbsp;
# Fournisseur d'identité CAS
rewrite ^/cas/.* /index.pl;
&nbsp;
# Fournisseur d'identité OpenID
rewrite ^/openidserver/.* /index.pl last;
&nbsp;
# Fournisseur d'identité OpenID-Connect
rewrite ^/oauth2/.* /index.pl last;
rewrite ^/.well-known/openid-configuration$ /openid-configuration.pl last;
&nbsp;
# Get Issuer
rewrite ^/get/.* /index.pl;</pre>
</div><!-- EDIT11 SECTION "Portal" [12825-14568] -->
</div><!-- EDIT11 SECTION "Portal" [12098-13889] -->
<h3 class="sectionedit12" id="manager2">Manager</h3>
<div class="level3">
@ -640,7 +597,7 @@ L'hôte virtuel du manager est utilisé pour servir l'interface de configuration
L'accès à l'interface de configuration n'est pas protégée par Nginx mais par LemonLDAP::NG lui-même (voir <code>lemonldap-ng.ini</code>) :
</p>
</div><!-- EDIT12 SECTION "Manager" [14569-15321] -->
</div><!-- EDIT12 SECTION "Manager" [13890-14642] -->
<h3 class="sectionedit13" id="handler1">Agent (Handler)</h3>
<div class="level3">
@ -653,7 +610,9 @@ Le handler Nginx est fourni par le <a href="fastcgiserver.html" class="wikilink1
</li>
</ul>
<pre class="code file nginx">error_page 403 http://auth.example.com/?lmError=403;
error_page 404 http://auth.example.com/?lmError=404;
error_page 500 http://auth.example.com/?lmError=500;
error_page 502 http://auth.example.com/?lmError=502;
error_page 503 http://auth.example.com/?lmError=503;</pre>
<ul>
<li class="level1"><div class="li"> Hôte virtuel pour le rechargement :</div>
@ -737,7 +696,7 @@ Pour protéger ensuite un hôte virtuel, il faut insérer ceci (ou créer un fic
&nbsp;
# Insérer ensuite la configuration (fastcgi_* ou proxy_*)</pre>
</div><!-- EDIT13 SECTION "Handler" [15322-18269] -->
</div><!-- EDIT13 SECTION "Handler" [14643-17696] -->
<h2 class="sectionedit14" id="configuration_reload">Rechargement de la configuration</h2>
<div class="level2">
@ -759,7 +718,7 @@ The <code>reload</code> target is managed in Apache or Nginx configuration, insi
</p>
<div class="noteimportant">Il faut autoriser l'accès à l'URL déclarée au manager.
</div>
</div><!-- EDIT14 SECTION "Configuration reload" [18270-19439] -->
</div><!-- EDIT14 SECTION "Configuration reload" [17697-18866] -->
<h2 class="sectionedit15" id="local_file">Fichier local</h2>
<div class="level2">
@ -793,7 +752,7 @@ Par exemple, pour surcharger l'apparence du portail :
<span class="re1">portalSkin</span> <span class="sy0">=</span><span class="re2"> dark</span></pre>
<div class="notetip">Il est nécessaire de connaître le nom technique du paramètre de configuration pour le faire. Se référer à la <a href="parameterlist.html" class="wikilink1" title="documentation:2.0:parameterlist">liste des paramètres</a> pour le trouver.
</div>
</div><!-- EDIT15 SECTION "Local file" [19440-] -->
</div><!-- EDIT15 SECTION "Local file" [18867-] -->
</div>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,idpcas"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="idpcas.html"/>
@ -87,8 +87,6 @@ Dans le manager, aller dans <code>Paramètres généraux</code> &gt; <code>Modul
<div class="notetip">Par exemple, pour n'autoriser que les utilisateurs authentifiés fortement :
<pre class="code">$authenticationLevel &gt; 2</pre>
</div><div class="noteimportant">Le module Rewrite d'Apache doit être activé dans la <a href="configlocation.html#portal" class="wikilink1" title="documentation:2.0:configlocation">configuration Apache du portail</a> ou dans la <a href="configlocation.html#portal1" class="wikilink1" title="documentation:2.0:configlocation">configuration du portail Nginx</a>.
</div>
<p>
Aller ensuite dans <code>Options</code> pour définir :

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,idpopenid"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="idpopenid.html"/>
@ -119,8 +119,6 @@ Dans le manager, aller dans <code>Paramètres généraux</code> &gt; <code>Modul
<div class="notetip">Par exemple, pour n'autoriser que les utilisateurs authentifiés fortement :
<pre class="code">$authenticationLevel &gt; 2</pre>
</div><div class="noteimportant">Le module Rewrite d'Apache doit être activé dans la <a href="configlocation.html#portal" class="wikilink1" title="documentation:2.0:configlocation">configuration Apache du portail</a> ou dans la <a href="configlocation.html#portal1" class="wikilink1" title="documentation:2.0:configlocation">configuration du portail Nginx</a>.
</div>
<p>
Aller ensuite dans <code>Options</code> pour définir :
@ -137,7 +135,7 @@ Aller ensuite dans <code>Options</code> pour définir :
</ul>
<div class="notetip">Si l'<code>identifiant OpenID</code> n'est pas renseigné, la donnée <code>Paramètres généraux</code> » <code>Journalisation</code> » <code>REMOTE_USER</code> est utilisée, mise à <code>uid</code> par défaut
</div>
</div><!-- EDIT3 SECTION "Configuration" [1126-2423] -->
</div><!-- EDIT3 SECTION "Configuration" [1126-2240] -->
<h3 class="sectionedit4" id="shared_attributes_sreg">Attributs partagés (SREG)</h3>
<div class="level3">
@ -171,7 +169,7 @@ Chaque attribut SREG est associé à une clef de session utilisateur. Une clef d
</p>
<div class="noteclassic">Si le client OpenID demande des données utilisateurs, ceux-ci sont questionnés pour accepter ou non le partage.
</div>
</div><!-- EDIT4 SECTION "Shared attributes (SREG)" [2424-2931] -->
</div><!-- EDIT4 SECTION "Shared attributes (SREG)" [2241-2748] -->
<h3 class="sectionedit5" id="security">Sécurité</h3>
<div class="level3">
@ -183,7 +181,7 @@ Chaque attribut SREG est associé à une clef de session utilisateur. Une clef d
</ul>
<div class="noteimportant">Noter que le protocole <a href="idpsaml.html" class="wikilink1" title="documentation:2.0:idpsaml">SAML</a> est plus securisé que OpenID, ainsi si les partenaires sont connus, preférer <a href="idpsaml.html" class="wikilink1" title="documentation:2.0:idpsaml">SAML</a>.
</div>
</div><!-- EDIT5 SECTION "Security" [2932-] -->
</div><!-- EDIT5 SECTION "Security" [2749-] -->
</div>
</body>
</html>

View File

@ -106,7 +106,7 @@
<tr class="row3 rowodd">
<td class="col0 centeralign"> <a href="applications/nextcloud.html" class="media" title="documentation:2.0:applications:nextcloud"><img src="icons/kmultiple.png" class="media" alt="" /></a> </td><td class="col1 centeralign"> <a href="applications/adfs.html" class="media" title="documentation:2.0:applications:adfs"><img src="icons/kmultiple.png" class="media" alt="" /></a> </td><td class="col2 leftalign"> </td><td class="col3 leftalign"> </td>
</tr>
</table></div><!-- EDIT5 TABLE [2486-3028] -->
</table></div><!-- EDIT5 TABLE [2607-3149] -->
</div><!-- EDIT4 PLUGIN_INCLUDE_END "documentation:2.0:applications" [0-] -->
</div>

View File

@ -135,14 +135,17 @@ Pour les utilisateurs de Debian testing ou unstable, les paquets sont directemen
Ajouter ce dépôt pour avoir les paquets les plus récents :
</p>
<pre class="code">vi /etc/apt/sources.list.d/lemonldap-ng.list</pre>
<pre class="file"># Dépôt LemonLDAP::NG
deb http://lemonldap-ng.org/deb stable main
deb-src http://lemonldap-ng.org/deb stable main</pre>
<div class="notetip">Use the <code>oldstable</code> repository to get packages from previous major version:
<pre class="file"># LemonLDAP::NG repository
deb http://lemonldap-ng.org/deb oldstable main
deb-src http://lemonldap-ng.org/deb oldstable main</pre>
deb https://lemonldap-ng.org/deb stable main
deb-src https://lemonldap-ng.org/deb stable main</pre>
<div class="notetip"><ul>
<li class="level1"><div class="li"> Use the <code>oldstable</code> repository to get packages from previous major version</div>
</li>
<li class="level1"><div class="li"> Use the <code>testing</code> repository to get packages from next major version</div>
</li>
<li class="level1"><div class="li"> Use the <code>2.0</code> repository to avoid upgrade to next major version</div>
</li>
</ul>
</div>
<p>
@ -150,7 +153,7 @@ Lancer ceci pour rafraîchir le cache :
</p>
<pre class="code">apt-get update</pre>
</div><!-- EDIT5 SECTION "LL::NG repository" [1000-1589] -->
</div><!-- EDIT5 SECTION "LL::NG repository" [1000-1595] -->
<h3 class="sectionedit6" id="manual_download">Téléchargement manuel</h3>
<div class="level3">
@ -159,7 +162,7 @@ Lancer ceci pour rafraîchir le cache :
Les paquets sont disponibles sur la <a href="download.html" class="wikilink1" title="Téléchargement">page de téléchargement</a>.
</p>
</div><!-- EDIT6 SECTION "Manual download" [1590-1676] -->
</div><!-- EDIT6 SECTION "Manual download" [1596-1682] -->
<h2 class="sectionedit7" id="package_gpg_signature">Signature GPG des paquets</h2>
<div class="level2">
@ -173,18 +176,18 @@ L'installer pour certifier les paquets :
</p>
<pre class="code">apt-key add rpm-gpg-key-ow2</pre>
</div><!-- EDIT7 SECTION "Package GPG signature" [1677-1845] -->
</div><!-- EDIT7 SECTION "Package GPG signature" [1683-1851] -->
<h2 class="sectionedit8" id="install_packages">Installer les paquets</h2>
<div class="level2">
</div><!-- EDIT8 SECTION "Install packages" [1846-1875] -->
</div><!-- EDIT8 SECTION "Install packages" [1852-1881] -->
<h3 class="sectionedit9" id="with_aptitude">Avec aptitude</h3>
<div class="level3">
<pre class="code">aptitude install lemonldap-ng</pre>
</div><!-- EDIT9 SECTION "With aptitude" [1876-1946] -->
</div><!-- EDIT9 SECTION "With aptitude" [1882-1952] -->
<h3 class="sectionedit10" id="with_dpkg">Avec dpkg</h3>
<div class="level3">
@ -198,12 +201,12 @@ Ensuite :
</p>
<pre class="code">dpkg -i liblemonldap-ng-* lemonldap-ng*</pre>
</div><!-- EDIT10 SECTION "With dpkg" [1947-2095] -->
</div><!-- EDIT10 SECTION "With dpkg" [1953-2101] -->
<h2 class="sectionedit11" id="first_configuration_steps">Premiers pas de configuration</h2>
<div class="level2">
</div><!-- EDIT11 SECTION "First configuration steps" [2096-2134] -->
</div><!-- EDIT11 SECTION "First configuration steps" [2102-2140] -->
<h3 class="sectionedit12" id="change_default_dns_domain">Changer le domaine DNS par défaut</h3>
<div class="level3">
@ -211,9 +214,9 @@ Ensuite :
<p>
Par défaut, le domaine <abbr title="Domain Name System">DNS</abbr> est <code>example.com</code>. On peut le changer rapidement par une commande sed. Par exemple, pour le changer en <code>ow2.org</code>:
</p>
<pre class="code shell">sed -i 's/example\.com/ow2.org/g' /etc/lemonldap-ng/* /var/lib/lemonldap-ng/conf/lmConf-1.js /var/lib/lemonldap-ng/test/index.pl</pre>
<pre class="code shell">sed -i 's/example\.com/ow2.org/g' /etc/lemonldap-ng/* /var/lib/lemonldap-ng/conf/lmConf-1.json /var/lib/lemonldap-ng/test/index.pl</pre>
</div><!-- EDIT12 SECTION "Change default DNS domain" [2135-2452] -->
</div><!-- EDIT12 SECTION "Change default DNS domain" [2141-2460] -->
<h3 class="sectionedit13" id="reload_virtual_host">Recharger l'hôte virtuel</h3>
<div class="level3">
@ -224,7 +227,7 @@ Pour autoriser le manager à recharger la configuration, enregistrer le nom d'h
<pre class="code shell">echo "127.0.0.1 reload.example.com" &gt;&gt; /etc/hosts</pre>
<div class="notetip">Adapter le nom d'hôte virtuel de rechargement au domaine configuré.
</div>
</div><!-- EDIT13 SECTION "Reload virtual host" [2453-2754] -->
</div><!-- EDIT13 SECTION "Reload virtual host" [2461-2762] -->
<h3 class="sectionedit14" id="upgrade">Mise à jour</h3>
<div class="level3">
@ -233,7 +236,7 @@ Pour autoriser le manager à recharger la configuration, enregistrer le nom d'h
Pour mettre à jour <abbr title="LemonLDAP::NG">LL::NG</abbr>, lisez toutes les <a href="upgrade.html" class="wikilink1" title="documentation:2.0:upgrade">notes de mise à jour</a>.
</p>
</div><!-- EDIT14 SECTION "Upgrade" [2755-2835] -->
</div><!-- EDIT14 SECTION "Upgrade" [2763-2843] -->
<h3 class="sectionedit15" id="dns">DNS</h3>
<div class="level3">
@ -249,7 +252,7 @@ Configurer le serveur <abbr title="Domain Name System">DNS</abbr> pour résoudre
Suivre les <a href="start.html#configuration" class="wikilink1" title="documentation:2.0:start">étapes suivantes</a>
</p>
</div><!-- EDIT15 SECTION "DNS" [2836-3108] -->
</div><!-- EDIT15 SECTION "DNS" [2844-3116] -->
<h2 class="sectionedit16" id="file_location">Emplacement du fichier</h2>
<div class="level2">
@ -270,7 +273,7 @@ Suivre les <a href="start.html#configuration" class="wikilink1" title="documenta
</li>
</ul>
</div><!-- EDIT16 SECTION "File location" [3109-3645] -->
</div><!-- EDIT16 SECTION "File location" [3117-3653] -->
<h2 class="sectionedit17" id="build_your_packages">Construire les paquets</h2>
<div class="level2">
@ -282,7 +285,7 @@ On peut également construire les paquets à partir de l'<a href="download.html"
cd lemonldap-ng-*
make debian-packages</pre>
</div><!-- EDIT17 SECTION "Build your packages" [3646-] -->
</div><!-- EDIT17 SECTION "Build your packages" [3654-] -->
</div>
</body>
</html>

View File

@ -136,7 +136,21 @@ Ajouter ces dépôts YUM pour obtenir les paquets récents :
<pre class="code">vi /etc/yum.repos.d/lemonldap-ng.repo</pre>
<pre class="file">[lemonldap-ng]
name=LemonLDAP::NG packages
baseurl=http://lemonldap-ng.org/rpm7/
baseurl=https://lemonldap-ng.org/redhat/stable/$releasever/noarch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OW2</pre>
<div class="notetip">Replace <code>stable</code> by <code>2.0</code> to avoid upgrade to next major version
</div>
<p>
You may also need some extras packages, available here:
</p>
<pre class="file">[lemonldap-ng-extras]
name=LemonLDAP::NG extra packages
baseurl=https://lemonldap-ng.org/redhat/extras/$releasever
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OW2</pre>
@ -148,7 +162,7 @@ Lancer ceci pour rafraîchir le cache :
<div class="notewarning">Il faut également installer le dépôt EPEL pour les dépendances ne faisant pas partie du core. Voir le chapître <a href="prereq.html#yum" class="wikilink1" title="documentation:2.0:prereq">pré-requis et dépendances</a>.
</div>
</div><!-- EDIT4 SECTION "YUM repository" [1083-1606] -->
</div><!-- EDIT4 SECTION "YUM repository" [1083-1976] -->
<h3 class="sectionedit5" id="manual_download">Téléchargement manuel</h3>
<div class="level3">
@ -157,7 +171,7 @@ Lancer ceci pour rafraîchir le cache :
Les paquets RPM sont disponibles sur la <a href="download.html" class="wikilink1" title="Téléchargement">page de téléchargement</a>.
</p>
</div><!-- EDIT5 SECTION "Manual download" [1607-1689] -->
</div><!-- EDIT5 SECTION "Manual download" [1977-2059] -->
<h2 class="sectionedit6" id="package_gpg_signature">Signature GPG des paquets</h2>
<div class="level2">
@ -171,12 +185,12 @@ L'installer pour certifier les RPMs:
</p>
<pre class="code">rpm --import rpm-gpg-key-ow2</pre>
</div><!-- EDIT6 SECTION "Package GPG signature" [1690-1855] -->
</div><!-- EDIT6 SECTION "Package GPG signature" [2060-2225] -->
<h2 class="sectionedit7" id="install_packages">Installer les paquets</h2>
<div class="level2">
</div><!-- EDIT7 SECTION "Install packages" [1856-1885] -->
</div><!-- EDIT7 SECTION "Install packages" [2226-2255] -->
<h3 class="sectionedit8" id="with_yum">Avec YUM</h3>
<div class="level3">
@ -191,7 +205,7 @@ On peut aussi utiliser yum sur des fichiers RPMs locaux :
</p>
<pre class="code">yum localinstall lemonldap-ng-* perl-Lemonldap-NG-*</pre>
</div><!-- EDIT8 SECTION "With YUM" [1886-2109] -->
</div><!-- EDIT8 SECTION "With YUM" [2256-2479] -->
<h3 class="sectionedit9" id="with_rpm">Avec RPM</h3>
<div class="level3">
@ -210,12 +224,12 @@ Installer le paquet <code>lemonldap-ng-conf</code> sur tous les serveurs qui con
</p>
</div>
</div><!-- EDIT9 SECTION "With RPM" [2110-2577] -->
</div><!-- EDIT9 SECTION "With RPM" [2480-2947] -->
<h2 class="sectionedit10" id="first_configuration_steps">Premiers pas de configuration</h2>
<div class="level2">
</div><!-- EDIT10 SECTION "First configuration steps" [2578-2616] -->
</div><!-- EDIT10 SECTION "First configuration steps" [2948-2986] -->
<h3 class="sectionedit11" id="change_default_dns_domain">Changer le domaine DNS par défaut</h3>
<div class="level3">
@ -223,9 +237,9 @@ Installer le paquet <code>lemonldap-ng-conf</code> sur tous les serveurs qui con
<p>
Par défaut, le domaine <abbr title="Domain Name System">DNS</abbr> est <code>example.com</code>. On peut le changer rapidement par une commande sed. Par exemple, pour le changer en <code>ow2.org</code>:
</p>
<pre class="code shell">sed -i 's/example\.com/ow2.org/g' /etc/lemonldap-ng/* /var/lib/lemonldap-ng/conf/lmConf-1.js /var/lib/lemonldap-ng/test/index.pl</pre>
<pre class="code shell">sed -i 's/example\.com/ow2.org/g' /etc/lemonldap-ng/* /var/lib/lemonldap-ng/conf/lmConf-1.json /var/lib/lemonldap-ng/test/index.pl</pre>
</div><!-- EDIT11 SECTION "Change default DNS domain" [2617-2934] -->
</div><!-- EDIT11 SECTION "Change default DNS domain" [2987-3306] -->
<h3 class="sectionedit12" id="reload_virtual_host">Recharger l'hôte virtuel</h3>
<div class="level3">
@ -236,7 +250,7 @@ Pour autoriser le manager à recharger la configuration, enregistrer le nom d'h
<pre class="code shell">echo "127.0.0.1 reload.example.com" &gt;&gt; /etc/hosts</pre>
<div class="notetip">Adapter le nom d'hôte virtuel de rechargement au domaine configuré.
</div>
</div><!-- EDIT12 SECTION "Reload virtual host" [2935-3236] -->
</div><!-- EDIT12 SECTION "Reload virtual host" [3307-3608] -->
<h3 class="sectionedit13" id="upgrade">Mise à jour</h3>
<div class="level3">
@ -245,7 +259,7 @@ Pour autoriser le manager à recharger la configuration, enregistrer le nom d'h
Pour mettre à jour <abbr title="LemonLDAP::NG">LL::NG</abbr>, lisez toutes les <a href="upgrade.html" class="wikilink1" title="documentation:2.0:upgrade">notes de mise à jour</a>.
</p>
</div><!-- EDIT13 SECTION "Upgrade" [3237-3317] -->
</div><!-- EDIT13 SECTION "Upgrade" [3609-3689] -->
<h3 class="sectionedit14" id="dns">DNS</h3>
<div class="level3">
@ -261,7 +275,7 @@ Configurer le serveur <abbr title="Domain Name System">DNS</abbr> pour résoudre
Suivre les <a href="start.html#configuration" class="wikilink1" title="documentation:2.0:start">étapes suivantes</a>
</p>
</div><!-- EDIT14 SECTION "DNS" [3318-3590] -->
</div><!-- EDIT14 SECTION "DNS" [3690-3962] -->
<h2 class="sectionedit15" id="file_location">Emplacement du fichier</h2>
<div class="level2">
@ -278,7 +292,7 @@ Suivre les <a href="start.html#configuration" class="wikilink1" title="documenta
</li>
</ul>
</div><!-- EDIT15 SECTION "File location" [3591-3947] -->
</div><!-- EDIT15 SECTION "File location" [3963-4319] -->
<h2 class="sectionedit16" id="build_your_packages">Construire les paquets</h2>
<div class="level2">
@ -307,7 +321,7 @@ Si besoin, on peut reconstruire les RPMs :
</ul>
<pre class="code">rpmbuild -ta SOURCES/lemonldap-ng-VERSION.tar.gz</pre>
</div><!-- EDIT16 SECTION "Build your packages" [3948-] -->
</div><!-- EDIT16 SECTION "Build your packages" [4320-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,issuerdbget"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="issuerdbget.html"/>
@ -93,8 +93,6 @@ In the Manager, go in <code>General Parameters</code> » <code>Issuer modules</c
<div class="notetip">Par exemple, pour n'autoriser que les utilisateurs authentifiés fortement :
<pre class="code">$authenticationLevel &gt; 2</pre>
</div><div class="noteimportant">Le module Rewrite d'Apache doit être activé dans la <a href="configlocation.html#portal" class="wikilink1" title="documentation:2.0:configlocation">configuration Apache du portail</a> ou dans la <a href="configlocation.html#portal1" class="wikilink1" title="documentation:2.0:configlocation">configuration du portail Nginx</a>.
</div>
<p>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,kerberos"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="kerberos.html"/>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,openidconnectservice"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="openidconnectservice.html"/>
@ -50,12 +50,6 @@
<div>
<ul class="toc">
<li class="level1"><div class="li"><a href="#rewrite_rules">Rewrite rules</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#apache">Apache</a></div></li>
<li class="level2"><div class="li"><a href="#nginx">Nginx</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#service_configuration">Configuration du service</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#issuer_identifier">Issuer identifier</a></div></li>
@ -77,47 +71,7 @@
</div><!-- EDIT1 SECTION "OpenID Connect service configuration" [1-52] -->
<h2 class="sectionedit2" id="rewrite_rules">Rewrite rules</h2>
<div class="level2">
</div><!-- EDIT2 SECTION "Rewrite rules" [53-79] -->
<h3 class="sectionedit3" id="apache">Apache</h3>
<div class="level3">
<p>
Be sure that mod_rewrite is installed and that OpenID Connect rewrite rules are activated in <a href="configlocation.html#portal" class="wikilink1" title="documentation:2.0:configlocation">Apache portal configuration</a>:
</p>
<pre class="code file apache"> <span class="co1"># OpenID Connect Issuer</span>
&lt;<span class="kw3">IfModule</span> mod_rewrite.c&gt;
<span class="kw1">RewriteEngine</span> <span class="kw2">On</span>
<span class="co1">#RewriteCond %{HTTP:Authorization} .</span>
<span class="co1">#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]</span>
<span class="kw1">RewriteRule</span> ^/oauth2/.* /index.pl
<span class="kw1">RewriteRule</span> ^/.well-known/openid-configuration$ /openid-configuration.pl
&lt;/<span class="kw3">IfModule</span>&gt;</pre>
<div class="notetip">You need to uncomment rewrite rule on Authorization header if you only have CGI enabled in your Apache server.
</div>
</div><!-- EDIT3 SECTION "Apache" [80-735] -->
<h3 class="sectionedit4" id="nginx">Nginx</h3>
<div class="level3">
<p>
Be sure that OpenID Connect rewrite rules are activated <a href="configlocation.html#portal1" class="wikilink1" title="documentation:2.0:configlocation">Nginx portal configuration</a>:
</p>
<pre class="code file nginx"> # Fournisseur d'identité OpenID-Connect
rewrite ^/oauth2/.* /index.pl last;
rewrite ^/.well-known/openid-configuration$ /openid-configuration.pl last;</pre>
</div><!-- EDIT4 SECTION "Nginx" [736-1025] -->
<h2 class="sectionedit5" id="service_configuration">Configuration du service</h2>
<h2 class="sectionedit2" id="service_configuration">Configuration du service</h2>
<div class="level2">
<p>
@ -126,9 +80,9 @@ Go in Manager and click on <code>OpenID Connect Service</code> node.
</p>
</div><!-- EDIT5 SECTION "Service configuration" [1026-1121] -->
</div><!-- EDIT2 SECTION "Service configuration" [53-148] -->
<h3 class="sectionedit6" id="issuer_identifier">Issuer identifier</h3>
<h3 class="sectionedit3" id="issuer_identifier">Issuer identifier</h3>
<div class="level3">
<p>
@ -142,9 +96,9 @@ Set the issuer identifier, which should be the portal <abbr title="Uniform Resou
For example: <a href="http://auth.example.com" class="urlextern" title="http://auth.example.com" rel="nofollow">http://auth.example.com</a>
</p>
</div><!-- EDIT6 SECTION "Issuer identifier" [1122-1248] -->
</div><!-- EDIT3 SECTION "Issuer identifier" [149-275] -->
<h3 class="sectionedit7" id="end_points">End points</h3>
<h3 class="sectionedit4" id="end_points">End points</h3>
<div class="level3">
<p>
@ -171,9 +125,9 @@ Name of different OpenID Connect endpoints. You can keep the default values unle
<div class="notetip">The end points are published inside JSON metadata.
</div>
</div><!-- EDIT7 SECTION "End points" [1249-1598] -->
</div><!-- EDIT4 SECTION "End points" [276-625] -->
<h3 class="sectionedit8" id="authentication_context">Authentication context</h3>
<h3 class="sectionedit5" id="authentication_context">Authentication context</h3>
<div class="level3">
<p>
@ -182,9 +136,9 @@ You can associate here an authentication context to an authentication level.
</p>
</div><!-- EDIT8 SECTION "Authentication context" [1599-1710] -->
</div><!-- EDIT5 SECTION "Authentication context" [626-737] -->
<h3 class="sectionedit9" id="security">Sécurité</h3>
<h3 class="sectionedit6" id="security">Sécurité</h3>
<div class="level3">
<ul>
<li class="level1"><div class="li"> <strong>Keys</strong> : define public/private key pair to do asymmetric signature</div>
@ -201,9 +155,9 @@ You can associate here an authentication context to an authentication level.
</li>
</ul>
</div><!-- EDIT9 SECTION "Security" [1711-2361] -->
</div><!-- EDIT6 SECTION "Security" [738-1388] -->
<h3 class="sectionedit10" id="sessions">Sessions</h3>
<h3 class="sectionedit7" id="sessions">Sessions</h3>
<div class="level3">
<p>
@ -212,9 +166,9 @@ It is recommended to use a separate sessions storage for OpenID Connect sessions
</p>
</div><!-- EDIT10 SECTION "Sessions" [2362-2516] -->
</div><!-- EDIT7 SECTION "Sessions" [1389-1543] -->
<h2 class="sectionedit11" id="key_rotation_script">Key rotation script</h2>
<h2 class="sectionedit8" id="key_rotation_script">Key rotation script</h2>
<div class="level2">
<p>
@ -232,9 +186,9 @@ The script is <code>/usr/share/lemonldap-ng/bin/rotateOidcKeys</code>. It can be
<div class="notetip">Set the correct Apache user, else generated configuration will not be readable by <abbr title="LemonLDAP::NG">LL::NG</abbr>.
</div>
</div><!-- EDIT11 SECTION "Key rotation script" [2517-2990] -->
</div><!-- EDIT8 SECTION "Key rotation script" [1544-2017] -->
<h2 class="sectionedit12" id="session_management">Gestion de session</h2>
<h2 class="sectionedit9" id="session_management">Gestion de session</h2>
<div class="level2">
<p>
@ -249,7 +203,7 @@ A <code>changed</code> state will be sent if the user is disconnected from <abbr
<div class="notetip">To work, the <abbr title="LemonLDAP::NG">LL::NG</abbr> cookie must not be protected against javascript (<code>httpOnly</code> option should be set to <code>0</code>).
</div>
</div><!-- EDIT12 SECTION "Session management" [2991-] -->
</div><!-- EDIT9 SECTION "Session management" [2018-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,portal"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="portal.html"/>
@ -66,7 +66,7 @@ Le portail est le principal composant de <abbr title="LemonLDAP::NG">LL::NG</abb
</li>
</ul>
</li>
<li class="level2"><div class="li"> <a href="soapservices.html" class="wikilink1" title="documentation:2.0:soapservices">Basé sur SOAP</a> pour les logiciels client-serveur, les développements spécifiques, …</div>
<li class="level2"><div class="li"> <a href="soapservices.html" class="wikilink1" title="documentation:2.0:soapservices">SOAP based</a> and <a href="restservices.html" class="wikilink1" title="documentation:2.0:restservices">REST based</a>&nbsp;for client-server software, specific development, …</div>
</li>
</ul>
</li>
@ -74,7 +74,7 @@ Le portail est le principal composant de <abbr title="LemonLDAP::NG">LL::NG</abb
<ul>
<li class="level2"><div class="li"> <a href="idpsaml.html" class="wikilink1" title="documentation:2.0:idpsaml">SAML</a></div>
</li>
<li class="level2"><div class="li"> <a href="idpopenid.html" class="wikilink1" title="documentation:2.0:idpopenid">OpenID</a></div>
<li class="level2"><div class="li"> <a href="idpopenidconnect.html" class="wikilink1" title="documentation:2.0:idpopenidconnect">OpenID Connect</a></div>
</li>
<li class="level2"><div class="li"> <a href="idpcas.html" class="wikilink1" title="documentation:2.0:idpcas">CAS</a></div>
</li>
@ -84,6 +84,8 @@ Le portail est le principal composant de <abbr title="LemonLDAP::NG">LL::NG</abb
</li>
<li class="level1"><div class="li"> <strong>Internal SOAP server</strong> used by <a href="soapconfbackend.html" class="wikilink1" title="documentation:2.0:soapconfbackend">SOAP configuration backend</a> and usable for specific development (see <a href="soapservices.html" class="wikilink1" title="documentation:2.0:soapservices">SOAP services</a> for more)</div>
</li>
<li class="level1"><div class="li"> <strong>Internal REST server</strong> used by <a href="restconfbackend.html" class="wikilink1" title="documentation:2.0:restconfbackend">REST configuration backend</a> and usable for specific development (see <a href="restservices.html" class="wikilink1" title="documentation:2.0:restservices">REST services</a> for more)</div>
</li>
<li class="level1"><div class="li"> <strong>Gestion interactive des mots-de-passe des utilisateurs</strong>:</div>
<ul>
<li class="level2"><div class="li"> Formulaire de changement de mot-de-passe (dans le menu)</div>
@ -100,7 +102,7 @@ Le portail est le principal composant de <abbr title="LemonLDAP::NG">LL::NG</abb
</li>
</ul>
</div><!-- EDIT1 SECTION "The portal" [1-1598] -->
</div><!-- EDIT1 SECTION "The portal" [1-1812] -->
<h2 class="sectionedit2" id="functioning">Fonctionnement</h2>
<div class="level2">
@ -120,7 +122,7 @@ Le portail <abbr title="LemonLDAP::NG">LL::NG</abbr> est un composant modulaire.
</ul>
<div class="notetip">Chaque module peut être désactivé en utilisant le backend <code>Null</code>.
</div>
</div><!-- EDIT2 SECTION "Functioning" [1599-2145] -->
</div><!-- EDIT2 SECTION "Functioning" [1813-2359] -->
<h2 class="sectionedit3" id="kinematics">Cinématique</h2>
<div class="level2">
@ -144,7 +146,7 @@ Le portail <abbr title="LemonLDAP::NG">LL::NG</abbr> est un composant modulaire.
</ol>
<div class="noteclassic">Voir aussi la <a href="documentation/presentation.html#kinematics" class="wikilink1" title="documentation:presentation">présentation de la cinématique générale</a>.
</div>
</div><!-- EDIT3 SECTION "Kinematics" [2146-] -->
</div><!-- EDIT3 SECTION "Kinematics" [2360-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,portalcustom"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="portalcustom.html"/>
@ -109,17 +109,13 @@ On peut faire le sien, voir comment personnaliser le thème ci-dessous.
On peut changer le thème par défaut dans le manager : <code>paramètres généraux</code> &gt; <code>Portail</code> &gt; <code>Personnalisation</code> &gt; <code>Skin</code>.
</p>
<p>
<img src="documentation/manager-skin-selection.png" class="mediacenter" alt="" />
</p>
<p>
Select the <code>Custom</code> skin, then set the name of the skin you want to use in the input below.
</p>
</div><!-- EDIT3 SECTION "Default skin" [409-705] -->
</div><!-- EDIT3 SECTION "Default skin" [409-648] -->
<h3 class="sectionedit4" id="skin_background">Skin background</h3>
<div class="level3">
@ -134,7 +130,7 @@ Go in <code>General Parameters</code> &gt; <code>Portal</code> &gt; <code>Custom
<img src="documentation/manager-skin-background.png" class="mediacenter" alt="" />
</p>
</div><!-- EDIT4 SECTION "Skin background" [706-1007] -->
</div><!-- EDIT4 SECTION "Skin background" [649-950] -->
<h3 class="sectionedit5" id="skin_rules">Règle du thème</h3>
<div class="level3">
@ -153,7 +149,7 @@ Pour le réaliser, il faut créer une règle dans le manager : choisir <code>par
</li>
</ul>
</div><!-- EDIT5 SECTION "Skin rules" [1008-1650] -->
</div><!-- EDIT5 SECTION "Skin rules" [951-1593] -->
<h3 class="sectionedit6" id="skin_files">Fichiers thèmes</h3>
<div class="level3">
@ -176,7 +172,7 @@ Un thème est composé de différents fichiers :
Un thème se réfère souvent au thème <code>common</code>, qui n'est pas un thème réel mais contient des objects partagés (tels les scripts, images et <abbr title="Cascading Style Sheets">CSS</abbr>).
</p>
</div><!-- EDIT6 SECTION "Skin files" [1651-1985] -->
</div><!-- EDIT6 SECTION "Skin files" [1594-1928] -->
<h3 class="sectionedit7" id="skin_customization">Personnalisation du thème</h3>
<div class="level3">
@ -233,7 +229,7 @@ Then you <em>only</em> have to edit JS/<abbr title="Cascading Style Sheets">CSS<
Pour configurer le nouveau thème dans le manager, selectionner le thème personnalisé et entrer le nom du nouveau thème dans le champ.
</p>
</div><!-- EDIT7 SECTION "Skin customization" [1986-3376] -->
</div><!-- EDIT7 SECTION "Skin customization" [1929-3319] -->
<h3 class="sectionedit8" id="messages">Messages</h3>
<div class="level3">
@ -255,7 +251,7 @@ Messages are defined in source code. S'ils ne conviennent pas, il peuvent être
<span class="re1">error_fr_0</span> <span class="sy0">=</span><span class="re2"> Souriez vous êtes surveillés !</span></pre>
</div>
</div><!-- EDIT8 SECTION "Messages" [3377-3968] -->
</div><!-- EDIT8 SECTION "Messages" [3320-3911] -->
<h3 class="sectionedit9" id="template_parameters">Paramètres des modèles</h3>
<div class="level3">
@ -273,7 +269,7 @@ On peut ensuite l'utiliser dans le modèle comme suit :
</p>
<pre class="code file html4strict">Hello <span class="sc2">&lt;TMPL_VAR <span class="kw3">NAME</span><span class="sy0">=</span><span class="st0">"myparam"</span>&gt;</span>!</pre>
</div><!-- EDIT9 SECTION "Template parameters" [3969-4339] -->
</div><!-- EDIT9 SECTION "Template parameters" [3912-4282] -->
<h2 class="sectionedit10" id="buttons">Buttons</h2>
<div class="level2">
@ -292,7 +288,7 @@ This node allows one to enable/disable buttons on the login page:
</li>
</ul>
</div><!-- EDIT10 SECTION "Buttons" [4340-4797] -->
</div><!-- EDIT10 SECTION "Buttons" [4283-4740] -->
<h2 class="sectionedit11" id="password_management">Password management</h2>
<div class="level2">
@ -305,7 +301,7 @@ This node allows one to enable/disable buttons on the login page:
</li>
</ul>
</div><!-- EDIT11 SECTION "Password management" [4798-5248] -->
</div><!-- EDIT11 SECTION "Password management" [4741-5191] -->
<h2 class="sectionedit12" id="other_parameters">Autres paramètres</h2>
<div class="level2">
@ -318,9 +314,13 @@ This node allows one to enable/disable buttons on the login page:
</li>
<li class="level1"><div class="li"> <strong>Ping interval</strong>: Number of milliseconds between each ping (Ajax request) on the portal menu. Set to 0 to dismiss checks.</div>
</li>
<li class="level1"><div class="li"> <strong>Show error on expired session</strong>: Display the error “Session expired”, which stops the authentication process. This is enabled by default but can be disabled to prevent transparent authentication (like SSL or Kerberos) to be stopped.</div>
</li>
<li class="level1"><div class="li"> <strong>Show error on mail not found</strong>: Display error if provided mail is not found in password reset by mail process. Disabled by default to prevent mail enumeration from this page.</div>
</li>
</ul>
</div><!-- EDIT12 SECTION "Other parameters" [5249-] -->
</div><!-- EDIT12 SECTION "Other parameters" [5192-] -->
</div>
</body>
</html>

View File

@ -0,0 +1,143 @@
<!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8" />
<title>documentation:2.0:portalservers</title><!-- //if:usedebianlibs
<link rel="stylesheet" type="text/css" href="/javascript/bootstrap/css/bootstrap.min.css" />
//elsif:useexternallibs
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"></script>
//elsif:cssminified
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,portalservers"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="portalservers.html"/>
<link rel="contents" href="portalservers.html" title="Sitemap"/>
<link rel="stylesheet" type="text/css" href="lib/exe/css.php.t.bootstrap3.css"/>
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.css" />
<script type="text/javascript">/*<![CDATA[*/var NS='documentation:2.0';var JSINFO = {"id":"documentation:2.0:portalservers","namespace":"documentation:2.0"};
/*!]]>*/</script>
<script type="text/javascript" charset="utf-8" src="lib/exe/js.php.t.bootstrap3.js"></script><!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.js"></script><!-- //endif --><!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery-ui/jquery-ui.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/lib/scripts/jquery-ui.min.js"></script>
//else -->
<script type="text/javascript" src="/lib/scripts/jquery-ui.js"></script><!-- //endif -->
</head>
<body>
<div class="dokuwiki export container"><!-- TOC START -->
<div id="dw__toc">
<h3 class="toggle">Table of Contents</h3>
<div>
<ul class="toc">
<li class="level1"><div class="li"><a href="#presentation">Présentation</a></div></li>
<li class="level1"><div class="li"><a href="#configuration">Configuration</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#rest">REST</a></div></li>
<li class="level2"><div class="li"><a href="#soap">SOAP</a></div></li>
</ul></li>
</ul>
</div>
</div><!-- TOC END -->
<h1 class="sectionedit1" id="restsoap_servers">REST/SOAP servers</h1>
<div class="level1">
</div><!-- EDIT1 SECTION "REST/SOAP servers" [1-33] -->
<h2 class="sectionedit2" id="presentation">Présentation</h2>
<div class="level2">
<p>
<abbr title="LemonLDAP::NG">LL::NG</abbr> portal can be configured as REST or SOAP server, for several usage:
</p>
<ul>
<li class="level1"><div class="li"> Configuration sharing</div>
</li>
<li class="level1"><div class="li"> Sessions sharing</div>
</li>
<li class="level1"><div class="li"> Specific application needs</div>
</li>
</ul>
</div><!-- EDIT2 SECTION "Presentation" [34-213] -->
<h2 class="sectionedit3" id="configuration">Configuration</h2>
<div class="level2">
</div><!-- EDIT3 SECTION "Configuration" [214-240] -->
<h3 class="sectionedit4" id="rest">REST</h3>
<div class="level3">
<p>
Go in <code>General Parameters</code> &gt; <code>Plugins</code> &gt; <code>Portal servers</code>:
</p>
<ul>
<li class="level1"><div class="li"> <strong>REST session server</strong>: Enable REST for sessions</div>
</li>
<li class="level1"><div class="li"> <strong>REST configuration server</strong>: Enable REST for configuration</div>
</li>
<li class="level1"><div class="li"> <strong>SOAP/REST exported attributes</strong>: list session attributes shared trough REST</div>
</li>
</ul>
<p>
See also <a href="restservices.html" class="wikilink1" title="documentation:2.0:restservices">REST Services</a>.
</p>
</div><!-- EDIT4 SECTION "REST" [241-565] -->
<h3 class="sectionedit5" id="soap">SOAP</h3>
<div class="level3">
<p>
Go in <code>General Parameters</code> &gt; <code>Plugins</code> &gt; <code>Portal servers</code>:
</p>
<ul>
<li class="level1"><div class="li"> <strong>SOAP session server</strong>: Enable SOAP for sessions</div>
</li>
<li class="level1"><div class="li"> <strong>SOAP configuration server</strong>: Enable SOAP for configuration</div>
</li>
<li class="level1"><div class="li"> <strong>SOAP/REST exported attributes</strong>: list session attributes shared trough SOAP</div>
</li>
</ul>
<p>
See also <a href="soapservices.html" class="wikilink1" title="documentation:2.0:soapservices">SOAP Services</a>.
</p>
</div><!-- EDIT5 SECTION "SOAP" [566-] -->
</div>
</body>
</html>

View File

@ -54,13 +54,11 @@
<li class="level1"><div class="li"><a href="#perl">Perl</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#core">Core</a></div></li>
<li class="level2"><div class="li"><a href="#old_notifications_format">Old Notifications format</a></div></li>
<li class="level2"><div class="li"><a href="#deprecated_features">Deprecated features</a></div></li>
<li class="level2"><div class="li"><a href="#saml2">SAML2</a></div></li>
<li class="level2"><div class="li"><a href="#cas_authentication_module">CAS (module d'authentification)</a></div></li>
<li class="level2"><div class="li"><a href="#openid">OpenID</a></div></li>
<li class="level2"><div class="li"><a href="#twitter">Twitter</a></div></li>
<li class="level2"><div class="li"><a href="#pod_unit_tests">Tests unitaires POD</a></div></li>
<li class="level2"><div class="li"><a href="#specific_authentication_backends">Specific authentication backends</a></div></li>
<li class="level2"><div class="li"><a href="#smtpreset_password_by_mail">SMTP / réinitialisation de mot-de-passe par courriel</a></div></li>
<li class="level2"><div class="li"><a href="#unit_tests">Unit tests</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#other">Autres</a></div></li>
@ -88,9 +86,11 @@ To use LemonLDAP::NG, you have the choice of the Web Server :
</p>
<ul>
<li class="level1"><div class="li"> Apache 2 with mod_perl</div>
<li class="level1"><div class="li"> Apache 2</div>
</li>
<li class="level1"><div class="li"> Nginx with fastcgi</div>
<li class="level1"><div class="li"> Nginx</div>
</li>
<li class="level1"><div class="li"> Any FastCGI compatible Web Server</div>
</li>
</ul>
@ -98,13 +98,13 @@ To use LemonLDAP::NG, you have the choice of the Web Server :
For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-worker est plus rapide et LemonLDAP::NG utilise le système de threads pour de meilleures performances. If you have to use mpm-prefork (for example if you use PHP), LemonLDAP::NG will work anyway.
</p>
</div><!-- EDIT2 SECTION "Web Server" [48-440] -->
</div><!-- EDIT2 SECTION "Web Server" [48-451] -->
<h2 class="sectionedit3" id="perl">Perl</h2>
<div class="level2">
<div class="noteclassic">Here is the list of Perl modules used in LemonLDAP::NG. Les modules "core" doivent être installés sur le système. Les autres modules ne doivent être installés que s'il est prévu d'utiliser les fonctionnalités associées.
</div>
</div><!-- EDIT3 SECTION "Perl" [441-654] -->
</div><!-- EDIT3 SECTION "Perl" [452-665] -->
<h3 class="sectionedit4" id="core">Core</h3>
<div class="level3">
@ -129,12 +129,12 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
<li class="level1"><div class="li"> <abbr title="Database Interface">DBI</abbr></div>
</li>
<li class="level1"><div class="li"> Digest::HMAC</div>
<li class="level1"><div class="li"> Digest::HMAC_SHA1</div>
</li>
<li class="level1"><div class="li"> Digest::MD5</div>
</li>
<li class="level1"><div class="li"> Digest::SHA</div>
</li>
<li class="level1"><div class="li"> Email::Sender</div>
</li>
<li class="level1"><div class="li"> GD::SecurityImage</div>
</li>
<li class="level1"><div class="li"> <abbr title="HyperText Markup Language">HTML</abbr>::Template</div>
@ -153,10 +153,6 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
<li class="level1"><div class="li"> Mouse</div>
</li>
<li class="level1"><div class="li"> Net::CIDR</div>
</li>
<li class="level1"><div class="li"> Net::CIDR::Lite</div>
</li>
<li class="level1"><div class="li"> Net::LDAP</div>
</li>
<li class="level1"><div class="li"> Plack</div>
@ -167,28 +163,38 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
<li class="level1"><div class="li"> SOAP::Lite</div>
</li>
<li class="level1"><div class="li"> String::Random</div>
</li>
<li class="level1"><div class="li"> Test::Pod</div>
</li>
<li class="level1"><div class="li"> Unicode::String</div>
</li>
<li class="level1"><div class="li"> <abbr title="Uniform Resource Identifier">URI</abbr></div>
</li>
<li class="level1"><div class="li"> YAML</div>
</li>
</ul>
</div><!-- EDIT4 SECTION "Core" [655-1238] -->
</div><!-- EDIT4 SECTION "Core" [666-1194] -->
<h3 class="sectionedit5" id="old_notifications_format">Old Notifications format</h3>
<h3 class="sectionedit5" id="deprecated_features">Deprecated features</h3>
<div class="level3">
<ul>
<li class="level1"><div class="li"> XML::LibXML</div>
<li class="level1"><div class="li"> Old notifications format:</div>
<ul>
<li class="level2"><div class="li"> XML::LibXML</div>
</li>
<li class="level1"><div class="li"> XML::LibXSLT</div>
<li class="level2"><div class="li"> XML::LibXSLT</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> OpenID 2.0:</div>
<ul>
<li class="level2"><div class="li"> Net::OpenID::Server</div>
</li>
<li class="level2"><div class="li"> Net::OpenID::Consumer</div>
</li>
</ul>
</li>
</ul>
</div><!-- EDIT5 SECTION "Old Notifications format" [1239-1308] -->
</div><!-- EDIT5 SECTION "Deprecated features" [1195-1363] -->
<h3 class="sectionedit6" id="saml2">SAML2</h3>
<div class="level3">
@ -201,38 +207,63 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
</ul>
</div><!-- EDIT6 SECTION "SAML2" [1309-1394] -->
</div><!-- EDIT6 SECTION "SAML2" [1364-1449] -->
<h3 class="sectionedit7" id="cas_authentication_module">CAS (module d'authentification)</h3>
<h3 class="sectionedit7" id="specific_authentication_backends">Specific authentication backends</h3>
<div class="level3">
<ul>
<li class="level1"><div class="li"> <a href="http://sourcesup.cru.fr/projects/perlcas/" class="urlextern" title="http://sourcesup.cru.fr/projects/perlcas/" rel="nofollow">AuthCAS</a></div>
<li class="level1"><div class="li"> Facebook:</div>
<ul>
<li class="level2"><div class="li"> Net::Facebook::Oauth2</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> Kerberos:</div>
<ul>
<li class="level2"><div class="li"> GSSAPI</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> PAM:</div>
<ul>
<li class="level2"><div class="li"> Authen::PAM</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> Radius:</div>
<ul>
<li class="level2"><div class="li"> Authen::Radius</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> Twitter:</div>
<ul>
<li class="level2"><div class="li"> Net::OAuth</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> WebID:</div>
<ul>
<li class="level2"><div class="li"> Web::ID</div>
</li>
</ul>
</li>
</ul>
</div><!-- EDIT7 SECTION "CAS (authentication module)" [1395-1492] -->
</div><!-- EDIT7 SECTION "Specific authentication backends" [1450-1678] -->
<h3 class="sectionedit8" id="openid">OpenID</h3>
<h3 class="sectionedit8" id="smtpreset_password_by_mail">SMTP / réinitialisation de mot-de-passe par courriel</h3>
<div class="level3">
<ul>
<li class="level1"><div class="li"> Net::OpenID::Consumer &gt; 1.00</div>
<li class="level1"><div class="li"> Email::Sender</div>
</li>
<li class="level1"><div class="li"> Net::OpenID::Server &gt; 1.00</div>
<li class="level1"><div class="li"> String::Random</div>
</li>
</ul>
</div><!-- EDIT8 SECTION "OpenID" [1493-1575] -->
</div><!-- EDIT8 SECTION "SMTP / Reset password by mail" [1679-1757] -->
<h3 class="sectionedit9" id="twitter">Twitter</h3>
<div class="level3">
<ul>
<li class="level1"><div class="li"> Net::OAuth</div>
</li>
</ul>
</div><!-- EDIT9 SECTION "Twitter" [1576-1610] -->
<h3 class="sectionedit10" id="pod_unit_tests">Tests unitaires POD</h3>
<h3 class="sectionedit9" id="unit_tests">Unit tests</h3>
<div class="level3">
<ul>
<li class="level1"><div class="li"> Test::POD</div>
@ -241,28 +272,9 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
</ul>
</div><!-- EDIT10 SECTION "POD unit tests" [1611-1672] -->
</div><!-- EDIT9 SECTION "Unit tests" [1758-1815] -->
<h3 class="sectionedit11" id="smtpreset_password_by_mail">SMTP / réinitialisation de mot-de-passe par courriel</h3>
<div class="level3">
<ul>
<li class="level1"><div class="li"> MIME::Lite</div>
</li>
<li class="level1"><div class="li"> Email::Date::Format</div>
</li>
<li class="level1"><div class="li"> String::Random</div>
</li>
<li class="level1"><div class="li"> Net::SMTP</div>
</li>
<li class="level1"><div class="li"> MIME::Base64</div>
</li>
<li class="level1"><div class="li"> Authen::SASL</div>
</li>
</ul>
</div><!-- EDIT11 SECTION "SMTP / Reset password by mail" [1673-1820] -->
<h2 class="sectionedit12" id="other">Autres</h2>
<h2 class="sectionedit10" id="other">Autres</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> Jquery (framework javascript) est inclus dans l'archive et les RPMs, mais est une dépendance des versions officielles Debian</div>
@ -271,14 +283,14 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
</li>
</ul>
</div><!-- EDIT12 SECTION "Other" [1821-2037] -->
</div><!-- EDIT10 SECTION "Other" [1816-2032] -->
<h2 class="sectionedit13" id="install_dependencies_on_your_system">Installer les dépendances sur le système</h2>
<h2 class="sectionedit11" id="install_dependencies_on_your_system">Installer les dépendances sur le système</h2>
<div class="level2">
</div><!-- EDIT13 SECTION "Install dependencies on your system" [2038-2087] -->
</div><!-- EDIT11 SECTION "Install dependencies on your system" [2033-2082] -->
<h3 class="sectionedit14" id="apt-get">APT-GET</h3>
<h3 class="sectionedit12" id="apt-get">APT-GET</h3>
<div class="level3">
<p>
@ -286,21 +298,21 @@ For Apache2, you can use all workers mpm-worker, mpm-prefork and mpm-event. Mpm-
Perl dependencies:
</p>
<pre class="code">apt-get install libapache-session-perl, libcache-cache-perl, libclone-perl, libconfig-inifiles-perl, libconvert-pem-perl, libcrypt-openssl-bignum-perl, libcrypt-openssl-rsa-perl, libcrypt-openssl-x509-perl, libcrypt-rijndael-perl, libdbd-sqlite3-perl, libdbi-perl, libdigest-hmac-perl, libemail-sender-perl, libgd-securityimage-perl, libglib-perl, libhtml-template-perl, libimage-magick-perl, libio-string-perl, libjson-perl, liblasso-perl, libmime-tools-perl, libmouse-perl, libnet-cidr-lite-perl, libnet-ldap-perl, libnet-openid-consumer-perl, libnet-openid-server-perl, libplack-perl, libregexp-assemble-perl, libregexp-common-perl, libsoap-lite-perl, libstring-random-perl, libtest-mockobject-perl, libtest-pod-perl, libunicode-string-perl, liburi-perl, libwww-perl, libxml-libxml-perl, libxml-libxslt-perl, libxml-simple-perl</pre>
<pre class="code">apt install libapache-session-perl libcache-cache-perl libclone-perl libconfig-inifiles-perl libconvert-pem-perl libcrypt-openssl-bignum-perl libcrypt-openssl-rsa-perl libcrypt-openssl-x509-perl libcrypt-rijndael-perl libdbi-perl libdigest-hmac-perl libemail-sender-perl libgd-securityimage-perl libhtml-template-perl libio-string-perl, libjson-perl libmime-tools-perl libmouse-perl libnet-ldap-perl libplack-perl libregexp-assemble-perl libregexp-common-perl libsoap-lite-perl libstring-random-perl libunicode-string-perl liburi-perl libwww-perl libxml-simple-perl</pre>
<p>
Pour Apache:
</p>
<pre class="code">apt-get install apache2 libapache2-mod-perl2 libapache2-mod-fcgid</pre>
<pre class="code">apt install apache2 libapache2-mod-fcgid libapache2-mod-perl</pre>
<p>
Pour Nginx:
</p>
<pre class="code">apt-get install nginx nginx-extras</pre>
<pre class="code">apt install nginx nginx-extras</pre>
</div><!-- EDIT14 SECTION "APT-GET" [2088-3123] -->
</div><!-- EDIT12 SECTION "APT-GET" [2083-2845] -->
<h3 class="sectionedit15" id="yum">YUM</h3>
<h3 class="sectionedit13" id="yum">YUM</h3>
<div class="level3">
<div class="notetip">You need <a href="http://fedoraproject.org/wiki/EPEL/" class="urlextern" title="http://fedoraproject.org/wiki/EPEL/" rel="nofollow">EPEL</a> repository. See how you can activate this repository: <a href="http://fedoraproject.org/wiki/EPEL/FAQ#howtouse" class="urlextern" title="http://fedoraproject.org/wiki/EPEL/FAQ#howtouse" rel="nofollow">http://fedoraproject.org/wiki/EPEL/FAQ#howtouse</a>
</div>
@ -309,12 +321,12 @@ Pour Nginx:
Perl dependencies:
</p>
<pre class="code">yum install perl-Apache-Session perl-LDAP perl-XML-SAX perl-XML-NamespaceSupport perl-HTML-Template perl-Regexp-Assemble perl-Regexp-Common perl-Error perl-IPC-ShareLite perl-Cache-Cache perl-FreezeThaw perl-XML-Simple perl-version perl-CGI-Session perl-DBD-Pg perl-XML-LibXML-Common perl-BSD-Resource perl-XML-LibXML perl-Crypt-Rijndael perl-IO-String perl-XML-LibXSLT perl-SOAP-Lite perl-Config-IniFiles perl-JSON perl-Digest-HMAC perl-Digest-SHA perl-String-Random perl-MIME-Lite perl-Email-Date-Format perl-Crypt-OpenSSL-RSA perl-Crypt-OpenSSL-X509 perl-Clone perl-Authen-SASL perl-Log-Log4perl perl-Unicode-String perl-Net-CIDR-Lite perl-Cache-Memcached perl-Convert-PEM perl-Mouse perl-Plack perl-GD-SecurityImage</pre>
<pre class="code">yum install perl-Apache-Session perl-Cache-Cache perl-Clone perl-Config-IniFiles perl-Convert-PEM perl-Crypt-OpenSSL-RSA perl-Crypt-OpenSSL-X509 perl-Crypt-Rijndael perl-Digest-HMAC perl-Digest-SHA perl-GD-SecurityImage perl-HTML-Template perl-IO-String perl-JSON perl-LDAP perl-Mouse perl-Plack perl-Regexp-Assemble perl-Regexp-Common perl-SOAP-Lite perl-String-Random perl-Unicode-String perl-version perl-XML-Simple</pre>
<p>
Pour Apache:
</p>
<pre class="code">yum install httpd mod_perl mod_fcgid</pre>
<pre class="code">yum install httpd mod_fcgid mod_perl</pre>
<p>
Pour Nginx:
@ -323,7 +335,7 @@ Pour Nginx:
<div class="noteimportant">As you need a recent version of Nginx, the best is to install <a href="https://www.nginx.com/resources/wiki/start/topics/tutorials/install/#official-red-hat-centos-packages" class="urlextern" title="https://www.nginx.com/resources/wiki/start/topics/tutorials/install/#official-red-hat-centos-packages" rel="nofollow">Nginx official packages</a>.
</div>
</div><!-- EDIT15 SECTION "YUM" [3124-] -->
</div><!-- EDIT13 SECTION "YUM" [2846-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,public_pages"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="public_pages.html"/>
@ -43,20 +43,7 @@
</head>
<body>
<div class="dokuwiki export container"><!-- TOC START -->
<div id="dw__toc">
<h3 class="toggle">Table of Contents</h3>
<div>
<ul class="toc">
<li class="level1"><div class="li"><a href="#presentation">Présentation</a></div></li>
<li class="level1"><div class="li"><a href="#configuration">Configuration</a></div></li>
<li class="level1"><div class="li"><a href="#page_creation">Page creation</a></div></li>
</ul>
</div>
</div><!-- TOC END -->
<div class="dokuwiki export container">
<h1 class="sectionedit1" id="public_pages">Public pages</h1>
<div class="level1">
@ -79,27 +66,9 @@ Public pages are an easy way to build pages based on <abbr title="LemonLDAP::NG"
A public page is just a template created in portal/skins<em>/yourskin</em>/public/ directory, for example test.tpl. This page can then be displayed with this <abbr title="Uniform Resource Locator">URL</abbr>: <a href="http://auth.example.com/public?page=test" class="urlextern" title="http://auth.example.com/public?page=test" rel="nofollow">http://auth.example.com/public?page=test</a>
</p>
</div><!-- EDIT2 SECTION "Presentation" [91-467] -->
</div><!-- EDIT2 SECTION "Presentation" [91-469] -->
<h2 class="sectionedit3" id="configuration">Configuration</h2>
<div class="level2">
<p>
Just be sure that Apache or Nginx rewrite rule is set:
</p>
<pre class="code file apache"> <span class="co1"># Public pages</span>
&lt;<span class="kw3">IfModule</span> mod_rewrite.c&gt;
<span class="kw1">RewriteEngine</span> <span class="kw2">On</span>
<span class="kw1">RewriteRule</span> ^/public* /public.pl
&lt;/<span class="kw3">IfModule</span>&gt;</pre>
<pre class="code file nginx"> # Public pages
rewrite ^/public.* /public.pl;</pre>
</div><!-- EDIT3 SECTION "Configuration" [468-773] -->
<h2 class="sectionedit4" id="page_creation">Page creation</h2>
<h2 class="sectionedit3" id="page_creation">Page creation</h2>
<div class="level2">
<p>
@ -130,7 +99,7 @@ Create the new page:
Display the page: <a href="http://auth.example.com/public?page=test" class="urlextern" title="http://auth.example.com/public?page=test" rel="nofollow">http://auth.example.com/public?page=test</a>
</p>
</div><!-- EDIT4 SECTION "Page creation" [774-] -->
</div><!-- EDIT3 SECTION "Page creation" [470-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,resetpassword"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="resetpassword.html"/>
@ -63,60 +63,26 @@ Cinématique :
<ul>
<li class="level1"><div class="li"> L'utilisateur clique sur le lien <code>Réinitialiser mon mot-de-passe</code></div>
</li>
</ul>
<p>
<a href="screenshots/1.1/mailreset/mailreset_step1.png_documentation_2.0_resetpassword.html" class="media" title="screenshots:1.1:mailreset:mailreset_step1.png"><img src="screenshots/1.1/mailreset/mailreset_step1.63796d4258d43ba83fc87b8def26b022.png" class="mediacenter" alt="" width="600" /></a>
</p>
<ul>
<li class="level1"><div class="li"> L'utilisateur entre son adresse de courriel (ou une autre information) dans le formulaire de réinitialisation</div>
</li>
<li class="level1"><div class="li"> <abbr title="LemonLDAP::NG">LL::NG</abbr> tente de trouver l'utilisateur dans la base de données avec l'information donnée</div>
</li>
</ul>
<p>
<a href="screenshots/1.1/mailreset/mailreset_step2.png_documentation_2.0_resetpassword.html" class="media" title="screenshots:1.1:mailreset:mailreset_step2.png"><img src="screenshots/1.1/mailreset/mailreset_step2.d0fc1cdfefe13c2fb43a4bc040ec15f9.png" class="mediacenter" alt="" width="600" /></a>
</p>
<ul>
<li class="level1"><div class="li"> Un courriel avec une valeur est envoyé à l'utilisateur</div>
</li>
</ul>
<p>
<a href="screenshots/1.1/mailreset/mailreset_step3.png_documentation_2.0_resetpassword.html" class="media" title="screenshots:1.1:mailreset:mailreset_step3.png"><img src="screenshots/1.1/mailreset/mailreset_step3.40c4dffef111868c74d648ebd292fb7f.png" class="mediacenter" alt="" width="600" /></a>
</p>
<ul>
<li class="level1"><div class="li"> L'utilisateur clique sur le lien dans le courriel</div>
</li>
</ul>
<p>
<a href="screenshots/1.1/mailreset/mailreset_step4.png_documentation_2.0_resetpassword.html" class="media" title="screenshots:1.1:mailreset:mailreset_step4.png"><img src="screenshots/1.1/mailreset/mailreset_step4.b61c9a127938f95c5c9a13c76753bfec.png" class="mediacenter" alt="" width="600" /></a>
</p>
<ul>
<li class="level1"><div class="li"> <abbr title="LemonLDAP::NG">LL::NG</abbr> valide la valeur et propose un formulaire de changement de mot-de-passe</div>
</li>
<li class="level1"><div class="li"> L'utilisateur peut choisir un nouveau mot de passe ou demander sa génération</div>
</li>
</ul>
<p>
<a href="screenshots/1.1/mailreset/mailreset_step2.png_documentation_2.0_resetpassword.html" class="media" title="screenshots:1.1:mailreset:mailreset_step2.png"><img src="screenshots/1.1/mailreset/mailreset_step2.d0fc1cdfefe13c2fb43a4bc040ec15f9.png" class="mediacenter" alt="" width="600" /></a>
</p>
<ul>
<li class="level1"><div class="li"> Le nouveau mot-de-passe est envoyé à l'utilisateur</div>
<li class="level1"><div class="li"> The new password is sent to user by mail if user ask to generate one, else the mail only confirm that the password was changed </div>
</li>
</ul>
<p>
<a href="screenshots/1.1/mailreset/mailreset_step5.png_documentation_2.0_resetpassword.html" class="media" title="screenshots:1.1:mailreset:mailreset_step5.png"><img src="screenshots/1.1/mailreset/mailreset_step5.b0077ffba96c601ce4a1179fccc8c325.png" class="mediacenter" alt="" width="600" /></a>
</p>
<div class="notetip">If <a href="authldap.html" class="wikilink1" title="documentation:2.0:authldap">LDAP backend</a> is used, and LDAP password policy is enabled, the 'password reset flag is set to true when password is generated, so that the user is forced to change his password on next connection. This feature can be disabled in <a href="authldap.html" class="wikilink1" title="documentation:2.0:authldap">LDAP configuration</a>.
</div><div class="notetip">Si l'utilisateur effectue une nouvelle demande de réinitialisation mais qu'une requête est déjà en attente, il peut demander une ré-expédition du courriel. La durée de validité de la requête est un paramètre de configuration.
</div>
</div><!-- EDIT2 SECTION "Presentation" [39-1551] -->
</div><!-- EDIT2 SECTION "Presentation" [39-1286] -->
<h2 class="sectionedit3" id="configuration">Configuration</h2>
<div class="level2">
@ -201,7 +167,7 @@ Si les contenus sont définis dans le manager, les modèles <abbr title="HyperTe
</li>
</ul>
</div><!-- EDIT3 SECTION "Configuration" [1552-] -->
</div><!-- EDIT3 SECTION "Configuration" [1287-] -->
</div>
</body>
</html>

View File

@ -0,0 +1,62 @@
<!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8" />
<title>documentation:2.0:restconfbackend</title><!-- //if:usedebianlibs
<link rel="stylesheet" type="text/css" href="/javascript/bootstrap/css/bootstrap.min.css" />
//elsif:useexternallibs
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"></script>
//elsif:cssminified
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,restconfbackend"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="restconfbackend.html"/>
<link rel="contents" href="restconfbackend.html" title="Sitemap"/>
<link rel="stylesheet" type="text/css" href="lib/exe/css.php.t.bootstrap3.css"/>
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.css" />
<script type="text/javascript">/*<![CDATA[*/var NS='documentation:2.0';var JSINFO = {"id":"documentation:2.0:restconfbackend","namespace":"documentation:2.0"};
/*!]]>*/</script>
<script type="text/javascript" charset="utf-8" src="lib/exe/js.php.t.bootstrap3.js"></script><!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.js"></script><!-- //endif --><!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery-ui/jquery-ui.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/lib/scripts/jquery-ui.min.js"></script>
//else -->
<script type="text/javascript" src="/lib/scripts/jquery-ui.js"></script><!-- //endif -->
</head>
<body>
<div class="dokuwiki export container">
<h1 class="sectionedit1" id="rest_configuration_backend">REST configuration backend</h1>
<div class="level1">
<p>
You can share your configuration over the network using REST proxy system.
</p>
<div class="notetip">Note that REST is not a real configuration backend, but just a proxy system to access to your configuration over the network
</div>
</div>
</div>
</body>
</html>

View File

@ -90,7 +90,7 @@
<form action="/start" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no"><input type="hidden" name="do" value="search" /><input type="text" id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" /><input type="submit" value="Search" class="button" title="Search" /><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form>
<ul class="nav navbar-nav">
<li><a href="/documentation/2.0/restserverplugin?do=login&amp;sectok=761151e5c98aa11e440c41e32546ca38" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
<li><a href="/documentation/2.0/restserverplugin?do=login&amp;sectok=083d765a6c01244c897a27ed8b56cdd7" class="action login" rel="nofollow" title="Login"><i class="glyphicon glyphicon-log-in"></i> Login</a></li> </ul>
</div>
@ -204,7 +204,7 @@ You&#039;ve followed a link to a topic that doesn&#039;t exist yet. If permissio
</div><!-- /site -->
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Arestserverplugin&amp;1492102704" width="2" height="1" alt="" /></div>
<div class="no"><img src="/lib/exe/indexer.php?id=documentation%3A2.0%3Arestserverplugin&amp;1504111309" width="2" height="1" alt="" /></div>
<div id="screen__mode" class="no">
<span class="visible-xs"></span>
<span class="visible-sm"></span>

View File

@ -0,0 +1,70 @@
<!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8" />
<title>documentation:2.0:restservices</title><!-- //if:usedebianlibs
<link rel="stylesheet" type="text/css" href="/javascript/bootstrap/css/bootstrap.min.css" />
//elsif:useexternallibs
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"></script>
//elsif:cssminified
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,restservices"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="restservices.html"/>
<link rel="contents" href="restservices.html" title="Sitemap"/>
<link rel="stylesheet" type="text/css" href="lib/exe/css.php.t.bootstrap3.css"/>
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.css" />
<script type="text/javascript">/*<![CDATA[*/var NS='documentation:2.0';var JSINFO = {"id":"documentation:2.0:restservices","namespace":"documentation:2.0"};
/*!]]>*/</script>
<script type="text/javascript" charset="utf-8" src="lib/exe/js.php.t.bootstrap3.js"></script><!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.js"></script><!-- //endif --><!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery-ui/jquery-ui.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/lib/scripts/jquery-ui.min.js"></script>
//else -->
<script type="text/javascript" src="/lib/scripts/jquery-ui.js"></script><!-- //endif -->
</head>
<body>
<div class="dokuwiki export container">
<h1 class="sectionedit1" id="rest_services">REST services</h1>
<div class="level1">
<p>
<abbr title="LemonLDAP::NG">LL::NG</abbr> portal provide a SOAP server that can be enable to give configuration and/or session. These features can be enabled using the manager.
</p>
</div><!-- EDIT1 SECTION "REST services" [1-172] -->
<h2 class="sectionedit2" id="portal_rest_services">Portal REST services</h2>
<div class="level2">
<p>
REST functions are not accessible by network by default. REST functions are protected by Web Server, you can change this in <a href="configlocation.html#portal" class="wikilink1" title="documentation:2.0:configlocation">portal configuration</a>.
</p>
</div><!-- EDIT2 SECTION "Portal REST services" [173-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,restsessionbackend"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="restsessionbackend.html"/>
@ -156,7 +156,7 @@ Then, set <code>Lemonldap::NG::Common::Apache::Session::REST</code> in <code>Gen
</tr>
</thead>
<tr class="row2 roweven">
<td class="col0 centeralign"> <strong>baseUrl</strong> </td><td class="col1"> <abbr title="Uniform Resource Locator">URL</abbr> of sessions REST end point </td><td class="col2"> http://auth.example.com/sessions/global </td>
<td class="col0 centeralign"> <strong>baseUrl</strong> </td><td class="col1"> <abbr title="Uniform Resource Locator">URL</abbr> of sessions REST end point </td><td class="col2"> http://auth.example.com/index.fcgi/sessions/global </td>
</tr>
<tr class="row3 rowodd">
<th class="col0 centeralign" colspan="3"> Paramètres optionnels </th>
@ -167,9 +167,9 @@ Then, set <code>Lemonldap::NG::Common::Apache::Session::REST</code> in <code>Gen
<tr class="row5 rowodd">
<td class="col0 centeralign"> <strong>password</strong> </td><td class="col1"> Password to use for auth basic mechanism </td><td class="col2 leftalign"> </td>
</tr>
</table></div><!-- EDIT4 TABLE [1758-2073] -->
</table></div><!-- EDIT4 TABLE [1758-2084] -->
</div><!-- EDIT3 SECTION "Manager" [1410-2074] -->
</div><!-- EDIT3 SECTION "Manager" [1410-2085] -->
<h3 class="sectionedit5" id="apache">Apache</h3>
<div class="level3">
@ -184,7 +184,7 @@ Sessions REST end points access must be allowed in Apache portal configuration (
<span class="kw1">Require</span> 192.168.2.0/<span class="nu0">24</span>
&lt;/<span class="kw3">Location</span>&gt;</pre>
</div><!-- EDIT5 SECTION "Apache" [2075-2364] -->
</div><!-- EDIT5 SECTION "Apache" [2086-2375] -->
<h3 class="sectionedit6" id="real_session_backend">Backend de session réel</h3>
<div class="level3">
@ -204,7 +204,7 @@ Par exemple, si les sessions réelels sont stockées dans des <a href="filesessi
<div class="notetip">Session explorer and “single session” features can't be used using this backend. Session explorer and portal must be launched with real backend.
</div>
</div><!-- EDIT6 SECTION "Real session backend" [2365-] -->
</div><!-- EDIT6 SECTION "Real session backend" [2376-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,samlservice"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="samlservice.html"/>
@ -60,12 +60,6 @@
<li class="level3"><div class="li"><a href="#other">Autres</a></div></li>
</ul>
</li>
<li class="level2"><div class="li"><a href="#rewrite_rules">Rewrite rules</a></div>
<ul class="toc">
<li class="level3"><div class="li"><a href="#apache">Apache</a></div></li>
<li class="level3"><div class="li"><a href="#nginx">Nginx</a></div></li>
</ul>
</li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#service_configuration">Configuration du service</a></div>
@ -192,42 +186,9 @@ Then install lasso and lasso-perl packages:
<a href="http://lasso.entrouvert.org/download/" class="urlextern" title="http://lasso.entrouvert.org/download/" rel="nofollow">Téléchargez l'archive Lasso</a> et compilez là sur votre système.
</p>
</div><!-- EDIT4 SECTION "Lasso" [717-1484] -->
</div><!-- EDIT4 SECTION "Lasso" [717-1485] -->
<h3 class="sectionedit5" id="rewrite_rules">Rewrite rules</h3>
<div class="level3">
</div>
<h4 id="apache">Apache</h4>
<div class="level4">
<p>
Assurez-vous que mod_rewrite est installé et que les règles de réécriture SAML2 sont activées dans la <a href="configlocation.html#portal" class="wikilink1" title="documentation:2.0:configlocation">configuration Apache du portail</a>:
</p>
<pre class="code file apache">&lt;<span class="kw3">IfModule</span> mod_rewrite.c&gt;
<span class="kw1">RewriteEngine</span> <span class="kw2">On</span>
<span class="kw1">RewriteRule</span> ^/saml/metadata /metadata.pl
<span class="kw1">RewriteRule</span> ^/saml/.* /index.pl
&lt;/<span class="kw3">IfModule</span>&gt;</pre>
</div>
<h4 id="nginx">Nginx</h4>
<div class="level4">
<p>
Be sure that SAML2 rewrite rules are activated in <a href="configlocation.html#portal1" class="wikilink1" title="documentation:2.0:configlocation">Nginx portal configuration</a>:
</p>
<pre class="code file nginx"> # Fournisseur d'identité SAML2
rewrite ^/saml/metadata /metadata.pl last;
rewrite ^/saml/.* /index.pl last;</pre>
</div><!-- EDIT5 SECTION "Rewrite rules" [1485-2078] -->
<h2 class="sectionedit6" id="service_configuration">Configuration du service</h2>
<h2 class="sectionedit5" id="service_configuration">Configuration du service</h2>
<div class="level2">
<p>
@ -235,9 +196,9 @@ Allez dans le Manager et cliquez sur le nœud <code>Service <abbr title="Securit
</p>
<div class="notetip">Vous pouvez utiliser le mot clef #PORTAL# dans les valeurs pour remplacer l'<abbr title="Uniform Resource Locator">URL</abbr> du portail.
</div>
</div><!-- EDIT6 SECTION "Service configuration" [2079-2242] -->
</div><!-- EDIT5 SECTION "Service configuration" [1486-1649] -->
<h3 class="sectionedit7" id="entry_identifier">Identifiant d'entrée</h3>
<h3 class="sectionedit6" id="entry_identifier">Identifiant d'entrée</h3>
<div class="level3">
<p>
@ -250,9 +211,9 @@ Votre EntityID, souvent utilisé comme <abbr title="Uniform Resource Locator">UR
</div><div class="notewarning">Si vous modifiez le suffixe <code>/saml/metadata</code>, vous devez changer la règle de réécriture d'Apache.
</div>
</div><!-- EDIT7 SECTION "Entry Identifier" [2243-2640] -->
</div><!-- EDIT6 SECTION "Entry Identifier" [1650-2047] -->
<h3 class="sectionedit8" id="security_parameters">Paramètres de sécurité</h3>
<h3 class="sectionedit7" id="security_parameters">Paramètres de sécurité</h3>
<div class="level3">
<p>
@ -289,9 +250,9 @@ You can force <abbr title="LemonLDAP::NG">LL::NG</abbr> to use this certificate
$ openssl x509 -req -days 3650 -in cert.csr -signkey private.key -out cert.pem</pre>
</div>
</div><!-- EDIT8 SECTION "Security parameters" [2641-3903] -->
</div><!-- EDIT7 SECTION "Security parameters" [2048-3310] -->
<h3 class="sectionedit9" id="nameid_formats">Formats de NameID</h3>
<h3 class="sectionedit8" id="nameid_formats">Formats de NameID</h3>
<div class="level3">
<p>
@ -326,9 +287,9 @@ Les autres formats de NameID sont automatiquement gérés :
</li>
</ul>
</div><!-- EDIT9 SECTION "NameID formats" [3904-4662] -->
</div><!-- EDIT8 SECTION "NameID formats" [3311-4069] -->
<h3 class="sectionedit10" id="authentication_contexts">Contextes d'authentification</h3>
<h3 class="sectionedit9" id="authentication_contexts">Contextes d'authentification</h3>
<div class="level3">
<p>
@ -350,9 +311,9 @@ Les formats de NameID personnalisables sont :
</li>
</ul>
</div><!-- EDIT10 SECTION "Authentication contexts" [4663-5386] -->
</div><!-- EDIT9 SECTION "Authentication contexts" [4070-4793] -->
<h3 class="sectionedit11" id="organization">Organisation</h3>
<h3 class="sectionedit10" id="organization">Organisation</h3>
<div class="level3">
<div class="noteclassic">Ceci concerne tous les paramètres de la section "organization" des métadatas :
<pre class="code file xml"><span class="sc3"><span class="re1">&lt;Organization<span class="re2">&gt;</span></span></span>
@ -370,9 +331,9 @@ Les formats de NameID personnalisables sont :
</li>
</ul>
</div><!-- EDIT11 SECTION "Organization" [5387-5898] -->
</div><!-- EDIT10 SECTION "Organization" [4794-5305] -->
<h3 class="sectionedit12" id="service_provider">Fournisseur de service</h3>
<h3 class="sectionedit11" id="service_provider">Fournisseur de service</h3>
<div class="level3">
<div class="noteclassic">Ceci concerne tous les paramètres de la section « fournisseur de service » des metadatas :
<pre class="code file xml"><span class="sc3"><span class="re1">&lt;SPSSODescriptor<span class="re2">&gt;</span></span></span>
@ -453,9 +414,9 @@ Les déclarations disponibles sont :
The only authorized binding is SOAP. Peut être défini par défaut.
</p>
</div><!-- EDIT12 SECTION "Service Provider" [5899-6953] -->
</div><!-- EDIT11 SECTION "Service Provider" [5306-6360] -->
<h3 class="sectionedit13" id="identity_provider">Fournisseur d'identité</h3>
<h3 class="sectionedit12" id="identity_provider">Fournisseur d'identité</h3>
<div class="level3">
<div class="noteclassic">Ceci concerne tous les paramètres de la section « fournisseur de service » des metadatas :
<pre class="code file xml"><span class="sc3"><span class="re1">&lt;IDPSSODescriptor<span class="re2">&gt;</span></span></span>
@ -538,9 +499,9 @@ Les déclarations disponibles sont :
The only authorized binding is SOAP. Peut être défini par défaut.
</p>
</div><!-- EDIT13 SECTION "Identity Provider" [6954-7942] -->
</div><!-- EDIT12 SECTION "Identity Provider" [6361-7349] -->
<h3 class="sectionedit14" id="attribute_authority">Autorité d'attributs</h3>
<h3 class="sectionedit13" id="attribute_authority">Autorité d'attributs</h3>
<div class="level3">
<div class="noteclassic">Ceci concerne tous les paramètres de la section « autorité d'attributs » des métadatas
<pre class="code file xml"><span class="sc3"><span class="re1">&lt;AttributeAuthorityDescriptor<span class="re2">&gt;</span></span></span>
@ -565,9 +526,9 @@ Response Location should be empty, as SOAP responses are directly returned (sync
</p>
</div><!-- EDIT14 SECTION "Attribute Authority" [7943-8354] -->
</div><!-- EDIT13 SECTION "Attribute Authority" [7350-7761] -->
<h3 class="sectionedit15" id="advanced">Avancé</h3>
<h3 class="sectionedit14" id="advanced">Avancé</h3>
<div class="level3">
<p>
@ -624,7 +585,7 @@ Les paramètres de configuration sont :
</li>
</ul>
</div><!-- EDIT15 SECTION "Advanced" [8355-] -->
</div><!-- EDIT14 SECTION "Advanced" [7762-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,selfmadeapplication"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="selfmadeapplication.html"/>
@ -114,69 +114,65 @@ Exemples avec un <a href="writingrulesand_headers.html#headers" class="wikilink1
<div class="level2">
<p>
Using this feature, you don't have to use virtual host protection: protection is embedded in Lemonldap::NG::Handler::CGI.
<abbr title="LemonLDAP::NG">LL::NG</abbr> now uses FastCGI instead of CGI, but you still can write your own protected CGI.
</p>
<p>
Lemonldap::NG::Handler::CGI adds some functions to <a href="http://search.cpan.org/perldoc?CGI" class="urlextern" title="http://search.cpan.org/perldoc?CGI" rel="nofollow">CGI</a>:
First create a PSGI module based on Lemonldap::NG::Handler:
</p>
<ul>
<li class="level1"><div class="li"> authenticate : vérifie que l'utilisateur est authentifié ; sinon, il est redirigé vers le portail</div>
</li>
<li class="level1"><div class="li"> authorize : vérifie si l'utilisateur est autorisé à accèder à cette <abbr title="Uniform Resource Locator">URL</abbr></div>
</li>
</ul>
<p>
Exemple :
</p>
<ul>
<li class="level1"><div class="li"> Code à remplacer :</div>
</li>
</ul>
<pre class="code perl"><span class="kw1">my</span> <span class="re0">$cgi</span> <span class="sy0">=</span> <span class="kw2">new</span> CGI<span class="sy0">;</span>
<span class="sy0">...</span></pre>
<ul>
<li class="level1"><div class="li"> Nouveau code:</div>
</li>
</ul>
<pre class="code perl"><span class="kw1">my</span> <span class="re0">$cgi</span> <span class="sy0">=</span> Lemonldap<span class="sy0">::</span><span class="me2">NG</span><span class="sy0">::</span><span class="me2">Handler</span><span class="sy0">::</span><span class="me2">CGI</span><span class="sy0">-&gt;</span><span class="kw2">new</span> <span class="br0">(</span><span class="br0">{</span><span class="br0">}</span><span class="br0">)</span><span class="sy0">;</span>
<span class="re0">$cgi</span><span class="sy0">-&gt;</span><span class="me1">authenticate</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
<span class="re0">$cgi</span><span class="sy0">-&gt;</span><span class="me1">authorize</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
<span class="sy0">...</span></pre>
<p>
On peut ensuite accéder aux données de l'utilisateur
</p>
<pre class="code perl"><span class="co1"># Obtenir des attributs (ou macros)</span>
<span class="kw1">my</span> <span class="re0">$cn</span> <span class="sy0">=</span> <span class="re0">$cgi</span><span class="sy0">-&gt;</span><span class="me1">user</span><span class="sy0">-&gt;</span><span class="br0">{</span>cn<span class="br0">}</span>
<pre class="code perl"> <a href="http://perldoc.perl.org/functions/package.html"><span class="kw3">package</span></a> My<span class="sy0">::</span><span class="me2">PSGI</span><span class="sy0">;</span>
&nbsp;
<span class="co1"># Tester si l'utilisateur est membre d'un groupe Lemonldap::NG (ou d'un groupe LDAP translaté)</span>
<span class="kw1">if</span><span class="br0">(</span> <span class="re0">$cgi</span><span class="sy0">-&gt;</span><span class="me1">group</span><span class="br0">(</span><span class="st_h">'admin'</span><span class="br0">)</span> <span class="br0">)</span> <span class="br0">{</span>
<span class="co1"># code html spécial pour les administrateurs</span>
<span class="br0">}</span>
<span class="kw1">else</span> <span class="br0">{</span>
<span class="co1"># autre code HTML</span>
<span class="br0">}</span></pre>
<span class="kw2">use</span> base Lemonldap<span class="sy0">::</span><span class="me2">NG</span><span class="sy0">::</span><span class="me2">Handler</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">sub</span> init <span class="br0">{</span>
<span class="kw1">my</span> <span class="br0">(</span><span class="re0">$self</span><span class="sy0">,</span><span class="re0">$args</span><span class="br0">)</span> <span class="sy0">=</span> <span class="co5">@_</span><span class="sy0">;</span>
<span class="re0">$self</span><span class="sy0">-&gt;</span><span class="me1">protection</span><span class="br0">(</span><span class="st_h">'manager'</span><span class="br0">)</span><span class="sy0">;</span>
<span class="co1"># See Lemonldap::NG::Common::PSGI for more</span>
<span class="sy0">...</span>
<span class="co1"># Return a boolean. If false, then error message has to be stored in</span>
<span class="co1"># $self-&gt;error</span>
<a href="http://perldoc.perl.org/functions/return.html"><span class="kw3">return</span></a> <span class="nu0">1</span><span class="sy0">;</span>
<span class="br0">}</span>
&nbsp;
<span class="kw2">sub</span> handler <span class="br0">{</span>
<span class="kw1">my</span> <span class="br0">(</span> <span class="re0">$self</span><span class="sy0">,</span> <span class="re0">$req</span> <span class="br0">)</span> <span class="sy0">=</span> <span class="co5">@_</span><span class="sy0">;</span>
&nbsp;
<span class="co1"># Will be called only if authorisated</span>
<span class="kw1">my</span> <span class="re0">$userId</span> <span class="sy0">=</span> <span class="re0">$self</span><span class="sy0">-&gt;</span><span class="me1">userId</span><span class="sy0">;</span>
<span class="sy0">...</span>
<span class="re0">$self</span><span class="sy0">-&gt;</span><span class="me1">sendJSONresponse</span><span class="br0">(</span><span class="sy0">...</span><span class="br0">)</span><span class="sy0">;</span>
<span class="br0">}</span></pre>
<p>
On peut tester toute <abbr title="Uniform Resource Locator">URL</abbr> pour voir si elle est protégée en utilisant testUri(). Elle retourne :
Then call this module in a CGI script:
</p>
<pre class="code perl"> <span class="co1">#!/usr/bin/env perl</span>
&nbsp;
<span class="kw2">use</span> My<span class="sy0">::</span><span class="me2">PSGI</span><span class="sy0">;</span>
<span class="kw2">use</span> Plack<span class="sy0">::</span><span class="me2">Handler</span><span class="sy0">::</span><span class="me2">FCGI</span><span class="sy0">;</span> <span class="co1"># or Plack::Handler::CGI</span>
&nbsp;
Plack<span class="sy0">::</span><span class="me2">Handler</span><span class="sy0">::</span><span class="me2">FCGI</span><span class="sy0">-&gt;</span><span class="me1">new</span><span class="sy0">-&gt;</span><span class="me1">run</span><span class="br0">(</span> My<span class="sy0">::</span><span class="me2">PSGI</span><span class="sy0">-&gt;</span><span class="me1">run</span><span class="br0">(</span><span class="br0">)</span> <span class="br0">)</span><span class="sy0">;</span></pre>
<p>
The protection parameter must be set when calling the init() method:
</p>
<ul>
<li class="level1"><div class="li"> 1 si l'utilisateur est autorisé à y accéder</div>
<li class="level1"><div class="li"> <code>none</code>: no protection</div>
</li>
<li class="level1"><div class="li"> 0 sinon</div>
<li class="level1"><div class="li"> <code>authenticate</code>: check authentication but do not manage authorization</div>
</li>
<li class="level1"><div class="li"> -1 si cette <abbr title="Uniform Resource Locator">URL</abbr> n'est pas connue de la configuration de <abbr title="LemonLDAP::NG">LL::NG</abbr></div>
<li class="level1"><div class="li"> <code>manager</code>: rely on virtual host configuration in Manager</div>
</li>
<li class="level1"><div class="li"> <code>rule: xxx</code>: apply a specific rule </div>
</li>
</ul>
<pre class="code perl"><span class="kw1">if</span><span class="br0">(</span><span class="re0">$cgi</span><span class="sy0">-&gt;</span><span class="me1">testUri</span><span class="br0">(</span><span class="st_h">'http://test3.example.com/'</span><span class="br0">)</span> <span class="br0">{</span>
<a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st_h">'&lt;a href="http://test3.example.com/"&gt;click here&lt;/a&gt;'</span><span class="sy0">;</span>
<span class="br0">}</span></pre>
</div><!-- EDIT6 SECTION "Perl auto-protected CGI" [831-] -->
</div>

View File

@ -51,6 +51,7 @@
<ul class="toc">
<li class="level1"><div class="li"><a href="#disk_cache_sessions_an_configuration">Disk cache (sessions an configuration)</a></div></li>
<li class="level1"><div class="li"><a href="#access_to_ldap">Access to LDAP</a></div></li>
<li class="level1"><div class="li"><a href="#memcache">Memcache</a></div></li>
<li class="level1"><div class="li"><a href="#proxy_http">Proxy HTTP</a></div></li>
</ul>
@ -75,17 +76,23 @@ To make LemonLDAP::NG work with SELinux, you may need to set up some options.
</div><!-- EDIT2 SECTION "Disk cache (sessions an configuration)" [103-208] -->
<h2 class="sectionedit3" id="memcache">Memcache</h2>
<h2 class="sectionedit3" id="access_to_ldap">Access to LDAP</h2>
<div class="level2">
<pre class="code">setsebool -P httpd_can_connect_ldap on</pre>
</div><!-- EDIT3 SECTION "Access to LDAP" [209-289] -->
<h2 class="sectionedit4" id="memcache">Memcache</h2>
<div class="level2">
<pre class="code">setsebool -P httpd_can_network_memcache 1</pre>
</div><!-- EDIT3 SECTION "Memcache" [209-286] -->
</div><!-- EDIT4 SECTION "Memcache" [290-367] -->
<h2 class="sectionedit4" id="proxy_http">Proxy HTTP</h2>
<h2 class="sectionedit5" id="proxy_http">Proxy HTTP</h2>
<div class="level2">
<pre class="code">setsebool -P httpd_can_network_relay 1</pre>
</div><!-- EDIT4 SECTION "Proxy HTTP" [287-] -->
</div><!-- EDIT5 SECTION "Proxy HTTP" [368-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,soapconfbackend"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="soapconfbackend.html"/>
@ -89,13 +89,11 @@ You can share your configuration over the network using SOAP proxy system.
</li>
</ul>
<pre class="code apache"><span class="co1"># SOAP functions for configuration access (disabled by default)</span>
&lt;<span class="kw3">Location</span> /index.pl/config&gt;
<span class="kw1">Order</span> <span class="kw1">deny</span>,<span class="kw1">allow</span>
<span class="kw1">Deny</span> from <span class="kw2">all</span>
<span class="kw1">Allow</span> from 192.168.2.0/<span class="nu0">24</span>
&lt;<span class="kw3">Location</span> /index.fcgi/config&gt;
<span class="kw1">Require</span> ip 192.168.2.0/<span class="nu0">24</span>
&lt;/<span class="kw3">Location</span>&gt;</pre>
</div><!-- EDIT3 SECTION "First, configure your real backend" [289-941] -->
</div><!-- EDIT3 SECTION "First, configure your real backend" [289-904] -->
<h3 class="sectionedit4" id="next_configure_soap_for_your_remote_servers">Ensuite, configurer SOAP pour les serveurs distants</h3>
<div class="level3">
@ -104,7 +102,7 @@ You can share your configuration over the network using SOAP proxy system.
Changer la configuration dans lemonldap-ng.ini :
</p>
<pre class="code file ini"><span class="re1">type</span> <span class="sy0">=</span><span class="re2"> SOAP</span>
<span class="re1">proxy</span> <span class="sy0">=</span><span class="re2"> https://auth.example.com/index.pl/config</span></pre>
<span class="re1">proxy</span> <span class="sy0">=</span><span class="re2"> https://auth.example.com/index.fcgi/config</span></pre>
<p>
On peut également ajouter quelques autres paramètres
@ -114,7 +112,7 @@ On peut également ajouter quelques autres paramètres
# LWP::UserAgent parameters
<span class="re1">proxyOptions</span> <span class="sy0">=</span><span class="re2"> <span class="br0">{</span> timeout <span class="sy0">=</span>&gt; 5 <span class="br0">}</span></span></pre>
</div><!-- EDIT4 SECTION "Next, configure SOAP for your remote servers" [942-] -->
</div><!-- EDIT4 SECTION "Next, configure SOAP for your remote servers" [905-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,soapservices"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="soapservices.html"/>
@ -49,47 +49,21 @@
<div class="level1">
<p>
Lemonldap::NG portal provide a SOAP server that can be enable to give configuration and/or session. These features can be enabled using the manager.
<abbr title="LemonLDAP::NG">LL::NG</abbr> portal provide a SOAP server that can be enable to give configuration and/or session. These features can be enabled using the manager.
</p>
</div><!-- EDIT1 SECTION "SOAP services" [1-179] -->
</div><!-- EDIT1 SECTION "SOAP services" [1-172] -->
<h2 class="sectionedit2" id="portal_soap_services">Services SOAP du portail</h2>
<div class="level2">
<p>
SOAP functions are not accessible by network by default. SOAP functions are protected by Apache, you can change this in <a href="configlocation.html#portal" class="wikilink1" title="documentation:2.0:configlocation">Apache portal configuration</a>:
SOAP functions are not accessible by network by default. SOAP functions are protected by Web Server, you can change this in <a href="configlocation.html#portal" class="wikilink1" title="documentation:2.0:configlocation">portal configuration</a>.
</p>
<pre class="code file apache"> <span class="co1"># Gestion des fonctions SOAP functions pour la gestion des sessions (désactivée par défaut)</span>
&lt;<span class="kw3">Location</span> /index.pl/adminSessions&gt;
<span class="kw1">Order</span> <span class="kw1">deny</span>,<span class="kw1">allow</span>
<span class="kw1">Allow</span> from <span class="kw2">all</span>
&lt;/<span class="kw3">Location</span>&gt;
&nbsp;
<span class="co1"># Fonctions SOAP pour l'accès aux sessions (désactivées par défaut)</span>
&lt;<span class="kw3">Location</span> /index.pl/sessions&gt;
<span class="kw1">Order</span> <span class="kw1">deny</span>,<span class="kw1">allow</span>
<span class="kw1">Allow</span> from <span class="kw2">all</span>
&lt;/<span class="kw3">Location</span>&gt;
&nbsp;
<span class="co1"># Fonctions SOAP pour accéder à la configuration (désactivées par défaut)</span>
&lt;<span class="kw3">Location</span> /index.pl/config&gt;
<span class="kw1">Order</span> <span class="kw1">deny</span>,<span class="kw1">allow</span>
<span class="kw1">Allow</span> from <span class="kw2">all</span>
&lt;/<span class="kw3">Location</span>&gt;
&nbsp;
<span class="co1"># Fonctions SOAP pour insérer des notifications (désactivées par défaut)</span>
&lt;<span class="kw3">Location</span> /index.pl/notification&gt;
<span class="kw1">Order</span> <span class="kw1">deny</span>,<span class="kw1">allow</span>
<span class="kw1">Allow</span> from <span class="kw2">all</span>
&lt;/<span class="kw3">Location</span>&gt;</pre>
<div class="notetip">You can create a SOAP only portal by setting “soapOnly = 1” in lemonldap-ng.ini (section PORTAL)
</div><ul>
<ul>
<li class="level1"><div class="li"> Fonctions en lecture seule (chemins index.pl/sessions ou index.pl/adminSessions) :</div>
<ul>
<li class="level2"><div class="li"> <strong>getCookies(user,password)</strong> : système d'authentification. Retourne nom(s) et valeur(s) du(des) cookie(s)</div>
@ -127,10 +101,10 @@ SOAP functions are not accessible by network by default. SOAP functions are prot
</ul>
</li>
</ul>
<div class="noteimportant">Lorsqu'on utilise le <a href="soapsessionbackend.html" class="wikilink1" title="documentation:2.0:soapsessionbackend">backend de session SOAP</a>, il est recommandé d'utiliser l'<abbr title="Uniform Resource Locator">URL</abbr> en lecture seule (<a href="http://portal/index.pl/sessions" class="urlextern" title="http://portal/index.pl/sessions" rel="nofollow">http://portal/index.pl/sessions</a>). Le chemin d'écriture de session n'est nécessaire que si on utilise un explorateur de session ou un portail distant
<div class="noteimportant">When you use <a href="soapsessionbackend.html" class="wikilink1" title="documentation:2.0:soapsessionbackend">SOAP sessions backend</a>, it is recommended to use read-only <abbr title="Uniform Resource Locator">URL</abbr> (/index.fcgi/sessions). Le chemin d'écriture de session n'est nécessaire que si on utilise un explorateur de session ou un portail distant
</div>
</div><!-- EDIT2 SECTION "Portal SOAP services" [180-] -->
</div><!-- EDIT2 SECTION "Portal SOAP services" [173-] -->
</div>
</body>
</html>

View File

@ -58,7 +58,11 @@
<li class="level3"><div class="li"><a href="#postgresql">PostgreSQL</a></div></li>
</ul>
</li>
<li class="level2"><div class="li"><a href="#manager">Manager</a></div></li>
<li class="level2"><div class="li"><a href="#manager">Manager</a></div>
<ul class="toc">
<li class="level3"><div class="li"><a href="#utf8_support">UTF8 support</a></div></li>
</ul>
</li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#security">Sécurité</a></div></li>
@ -213,9 +217,36 @@ Il faut consulter la page de manuel correspondant à la base de données (<a hre
Si MySQL est choisi, lire <a href="performances.html#apachesession_performances" class="wikilink1" title="documentation:2.0:performances">comment augmenter les performances de MySQL</a>.
</p>
</div><!-- EDIT4 SECTION "Manager" [2238-3554] -->
</div>
<h2 class="sectionedit6" id="security">Sécurité</h2>
<h4 id="utf8_support">UTF8 support</h4>
<div class="level4">
<p>
If you may store some non-<abbr title="American Standard Code for Information Interchange">ASCII</abbr> characters, you must add the parameter corresponding to your database.
</p>
<div class="table sectionedit6"><table class="inline table table-bordered table-striped">
<thead>
<tr class="row0 roweven">
<th class="col0 centeralign"> Base de données </th><th class="col1 centeralign"> Parameter name </th><th class="col2 centeralign"> Value </th>
</tr>
</thead>
<tr class="row1 rowodd">
<td class="col0 centeralign"> MySQL </td><td class="col1 centeralign"> mysql_enable_utf8 </td><td class="col2 centeralign"> 1 </td>
</tr>
<tr class="row2 roweven">
<td class="col0 centeralign"> PostgreSQL </td><td class="col1 centeralign"> pg_enable_utf8 </td><td class="col2 centeralign"> 1 </td>
</tr>
<tr class="row3 rowodd">
<td class="col0 centeralign"> SQLite </td><td class="col1 centeralign"> sqlite_unicode </td><td class="col2 centeralign"> 1 </td>
</tr>
</table></div><!-- EDIT6 TABLE [3681-3844] -->
</div><!-- EDIT4 SECTION "Manager" [2238-3845] -->
<h2 class="sectionedit7" id="security">Sécurité</h2>
<div class="level2">
<p>
@ -226,7 +257,7 @@ Restreindre l'accès réseau à la base de données.
On peut utiliser différent login/mot-de-passe pour les serveurs en surchargeant les paramètres <code>globalStorage</code> et <code>globalStorageOptions</code> dans le fichier lemonldap-ng.ini.
</p>
</div><!-- EDIT6 SECTION "Security" [3555-] -->
</div><!-- EDIT7 SECTION "Security" [3846-] -->
</div>
</body>
</html>

View File

@ -219,6 +219,8 @@
</li>
<li class="level1"><div class="li"> <a href="portalmenu.html" class="wikilink1" title="documentation:2.0:portalmenu">Menu du portail</a></div>
</li>
<li class="level1"><div class="li"> <a href="portalservers.html" class="wikilink1" title="documentation:2.0:portalservers">REST/SOAP servers</a></div>
</li>
<li class="level1"><div class="li"> <a href="captcha.html" class="wikilink1" title="documentation:2.0:captcha">Captcha</a></div>
</li>
<li class="level1"><div class="li"> <a href="public_pages.html" class="wikilink1" title="documentation:2.0:public_pages">Public pages</a></div>
@ -270,75 +272,78 @@
<td class="col0"> <a href="authldap.html" class="wikilink1" title="documentation:2.0:authldap">LDAP</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 centeralign"></td>
</tr>
<tr class="row9 rowodd">
<td class="col0"> <a href="authnull.html" class="wikilink1" title="documentation:2.0:authnull">Null</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"> </td><td class="col3 centeralign"> </td>
<td class="col0"> <a href="authlinkedin.html" class="wikilink1" title="documentation:2.0:authlinkedin">LinkedIn</a> </td><td class="col1 centeralign"></td><td class="col2"> </td><td class="col3"> </td>
</tr>
<tr class="row10 roweven">
<td class="col0"> <a href="authopenidconnect.html" class="wikilink1" title="documentation:2.0:authopenidconnect">OpenID Connect</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td>
<td class="col0"> <a href="authnull.html" class="wikilink1" title="documentation:2.0:authnull">Null</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 centeralign"> </td>
</tr>
<tr class="row11 rowodd">
<td class="col0"> <a href="authpam.html" class="wikilink1" title="documentation:2.0:authpam">PAM</a> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2 leftalign"> </td><td class="col3 leftalign"> </td>
<td class="col0"> <a href="authopenidconnect.html" class="wikilink1" title="documentation:2.0:authopenidconnect">OpenID Connect</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"> </td><td class="col3 leftalign"> </td>
</tr>
<tr class="row12 roweven">
<td class="col0"> <a href="authproxy.html" class="wikilink1" title="documentation:2.0:authproxy">Proxy LL::NG</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"> </td><td class="col3 leftalign"> </td>
<td class="col0"> <a href="authpam.html" class="wikilink1" title="documentation:2.0:authpam">PAM</a> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2 leftalign"> </td><td class="col3 leftalign"> </td>
</tr>
<tr class="row13 rowodd">
<td class="col0"> <a href="authradius.html" class="wikilink1" title="documentation:2.0:authradius">Radius</a> </td><td class="col1 centeralign"></td><td class="col2 leftalign"> </td><td class="col3 leftalign"> </td>
<td class="col0"> <a href="authproxy.html" class="wikilink1" title="documentation:2.0:authproxy">Proxy LL::NG</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"> </td><td class="col3 leftalign"> </td>
</tr>
<tr class="row14 roweven">
<td class="col0"> <a href="authrest.html" class="wikilink1" title="documentation:2.0:authrest">REST</a> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"> </td><td class="col3 centeralign"> </td>
<td class="col0"> <a href="authradius.html" class="wikilink1" title="documentation:2.0:authradius">Radius</a> </td><td class="col1 centeralign"></td><td class="col2 leftalign"> </td><td class="col3 leftalign"> </td>
</tr>
<tr class="row15 rowodd">
<td class="col0"> <a href="authsaml.html" class="wikilink1" title="documentation:2.0:authsaml">SAML 2.0 / Shibboleth</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td>
<td class="col0"> <a href="authrest.html" class="wikilink1" title="documentation:2.0:authrest">REST</a> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 centeralign"> </td>
</tr>
<tr class="row16 roweven">
<td class="col0"> <a href="authslave.html" class="wikilink1" title="documentation:2.0:authslave">Slave</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td>
<td class="col0"> <a href="authsaml.html" class="wikilink1" title="documentation:2.0:authsaml">SAML 2.0 / Shibboleth</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td>
</tr>
<tr class="row17 rowodd">
<td class="col0"> <a href="authssl.html" class="wikilink1" title="documentation:2.0:authssl">SSL</a> </td><td class="col1 centeralign"></td><td class="col2 leftalign"> </td><td class="col3 leftalign"> </td>
<td class="col0"> <a href="authslave.html" class="wikilink1" title="documentation:2.0:authslave">Slave</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"> </td><td class="col3 leftalign"> </td>
</tr>
<tr class="row18 roweven">
<td class="col0"> <a href="authtwitter.html" class="wikilink1" title="documentation:2.0:authtwitter">Twitter</a> </td><td class="col1 centeralign"></td><td class="col2 leftalign"> </td><td class="col3 leftalign"> </td>
<td class="col0"> <a href="authssl.html" class="wikilink1" title="documentation:2.0:authssl">SSL</a> </td><td class="col1 centeralign"></td><td class="col2 leftalign"> </td><td class="col3 leftalign"> </td>
</tr>
<tr class="row19 rowodd">
<td class="col0"> <a href="authwebid.html" class="wikilink1" title="documentation:2.0:authwebid">WebID</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"> </td><td class="col3 leftalign"> </td>
<td class="col0"> <a href="authtwitter.html" class="wikilink1" title="documentation:2.0:authtwitter">Twitter</a> </td><td class="col1 centeralign"></td><td class="col2 leftalign"> </td><td class="col3 leftalign"> </td>
</tr>
<tr class="row20 roweven">
<td class="col0"> <a href="authyubikey.html" class="wikilink1" title="documentation:2.0:authyubikey">Yubikey</a> </td><td class="col1 centeralign"></td><td class="col2 leftalign"> </td><td class="col3 leftalign"> </td>
<td class="col0"> <a href="authwebid.html" class="wikilink1" title="documentation:2.0:authwebid">WebID</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"> </td><td class="col3 leftalign"> </td>
</tr>
<tr class="row21 rowodd">
<td class="col0"> <a href="authcustom.html" class="wikilink1" title="documentation:2.0:authcustom">Custom modules</a> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"> </td><td class="col3 centeralign"> </td>
<td class="col0"> <a href="authyubikey.html" class="wikilink1" title="documentation:2.0:authyubikey">Yubikey</a> </td><td class="col1 centeralign"></td><td class="col2 leftalign"> </td><td class="col3 leftalign"> </td>
</tr>
<tr class="row22 roweven">
<th class="col0"> Combo Backends </th><th class="col1 centeralign"> Authentification </th><th class="col2 centeralign"> Utilisateurs </th><th class="col3 centeralign"> Mot-de-passe </th>
<td class="col0"> <a href="authcustom.html" class="wikilink1" title="documentation:2.0:authcustom">Custom modules</a> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 centeralign"></td>
</tr>
<tr class="row23 rowodd">
<td class="col0"> <a href="authchoice.html" class="wikilink1" title="documentation:2.0:authchoice">Choice by users</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 centeralign"></td>
<th class="col0"> Combo Backends </th><th class="col1 centeralign"> Authentification </th><th class="col2 centeralign"> Utilisateurs </th><th class="col3 centeralign"> Mot-de-passe </th>
</tr>
<tr class="row24 roweven">
<td class="col0"> <a href="authcombination.html" class="wikilink1" title="documentation:2.0:authcombination">Combination of auth schemes</a> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td>
<td class="col0"> <a href="authchoice.html" class="wikilink1" title="documentation:2.0:authchoice">Choice by users</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 centeralign"> </td>
</tr>
<tr class="row25 rowodd">
<td class="col0"> <del><a href="authmulti.html" class="wikilink1" title="documentation:2.0:authmulti">Empiler de multiples backends</a></del> </td><td class="col1 centeralign" colspan="3"> <em>Deprecated, replaced by Combination</em> </td>
<td class="col0"> <a href="authcombination.html" class="wikilink1" title="documentation:2.0:authcombination">Combination of auth schemes</a> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td>
</tr>
<tr class="row26 roweven">
<th class="col0"> Obsolete Backends </th><th class="col1 centeralign"> Authentification </th><th class="col2 centeralign"> Utilisateurs </th><th class="col3 centeralign"> Mot-de-passe </th>
<td class="col0"> <del><a href="authmulti.html" class="wikilink1" title="documentation:2.0:authmulti">Empiler de multiples backends</a></del> </td><td class="col1 centeralign" colspan="3"> <em>Deprecated, replaced by Combination</em> </td>
</tr>
<tr class="row27 rowodd">
<td class="col0"> <a href="authopenid.html" class="wikilink1" title="documentation:2.0:authopenid">OpenID</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td>
<th class="col0"> Obsolete Backends </th><th class="col1 centeralign"> Authentification </th><th class="col2 centeralign"> Utilisateurs </th><th class="col3 centeralign"> Mot-de-passe </th>
</tr>
<tr class="row28 roweven">
<td class="col0"> <a href="authremote.html" class="wikilink1" title="documentation:2.0:authremote">LL::NG distant</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td>
<td class="col0"> <a href="authopenid.html" class="wikilink1" title="documentation:2.0:authopenid">OpenID</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td>
</tr>
<tr class="row29 rowodd">
<th class="col0"> Second factor </th><th class="col1 centeralign"> Authentification </th><td class="col2"></td><td class="col3"></td>
<td class="col0"> <a href="authremote.html" class="wikilink1" title="documentation:2.0:authremote">LL::NG distant</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td>
</tr>
<tr class="row30 roweven">
<td class="col0"> <a href="u2f.html" class="wikilink1" title="documentation:2.0:u2f">U2F</a> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2"></td><td class="col3"></td>
<th class="col0"> Second factor </th><th class="col1 centeralign"> Authentification </th><td class="col2"></td><td class="col3"></td>
</tr>
<tr class="row31 rowodd">
<td class="col0"> <a href="u2f.html" class="wikilink1" title="documentation:2.0:u2f">U2F</a> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2"></td><td class="col3"></td>
</tr>
<tr class="row32 roweven">
<td class="col0"> <a href="external2f.html" class="wikilink1" title="documentation:2.0:external2f">External Second Factor</a> <em>(OTP, SMS,…)</em> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2"></td><td class="col3"></td>
</tr>
</table></div><!-- EDIT9 TABLE [2181-4058] -->
</table></div><!-- EDIT9 TABLE [2221-4140] -->
<p>
</p></div></div>
@ -380,15 +385,15 @@
<td class="col0"> <a href="idpopenidconnect.html" class="wikilink1" title="documentation:2.0:idpopenidconnect">OpenID Connect</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td>
</tr>
<tr class="row5 rowodd">
<td class="col0"> <a href="issuerdbget.html" class="wikilink1" title="documentation:2.0:issuerdbget">Get parameters provider</a> <em>(for poor applications)</em> </td><td class="col1 centeralign"> </td><td class="col2 leftalign"> </td>
<td class="col0"> <a href="issuerdbget.html" class="wikilink1" title="documentation:2.0:issuerdbget">Get parameters provider</a> <em>(for poor applications)</em> </td><td class="col1 leftalign"> </td><td class="col2 centeralign"> </td>
</tr>
</table></div><!-- EDIT10 TABLE [4404-4764] -->
</table></div><!-- EDIT10 TABLE [4486-4847] -->
<p>
</p></div></div>
</p>
</div><!-- EDIT8 SECTION "Portal" [1685-4792] -->
</div><!-- EDIT8 SECTION "Portal" [1685-4875] -->
<h3 class="sectionedit11" id="handlers">Handlers</h3>
<div class="level3">
@ -431,7 +436,7 @@ Handlers are software control agents to install on your web servers <em>(Nginx,
<tr class="row7 rowodd">
<td class="col0"> <a href="applications/zimbra.html" class="wikilink1" title="documentation:2.0:applications:zimbra">Zimbra PreAuth</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 leftalign"> </td><td class="col4 leftalign"> </td>
</tr>
</table></div><!-- EDIT12 TABLE [5031-5864] -->
</table></div><!-- EDIT12 TABLE [5114-5947] -->
<p>
<em>(*): <a href="nodehandler.html" class="wikilink1" title="documentation:2.0:nodehandler">Node.js handler</a> has not yet reached the same level of functionality.</em>
@ -441,7 +446,7 @@ Handlers are software control agents to install on your web servers <em>(Nginx,
</p></div></div>
</p>
</div><!-- EDIT11 SECTION "Handlers" [4793-5987] -->
</div><!-- EDIT11 SECTION "Handlers" [4876-6070] -->
<h3 class="sectionedit13" id="llng_databases">LLNG databases</h3>
<div class="level3">
@ -484,7 +489,10 @@ Handlers are software control agents to install on your web servers <em>(Nginx,
<tr class="row6 roweven">
<td class="col0 centeralign"> <a href="soapconfbackend.html" class="wikilink1" title="documentation:2.0:soapconfbackend">SOAP</a> </td><td class="col1 centeralign"></td><td class="col2 leftalign"> Backend proxy à utiliser avec un autre backend de configuration. <br/><strong>Peut être utilisé pour sécuriser un autre backend</strong> pour des serveurs distants. </td>
</tr>
</table></div><!-- EDIT14 TABLE [6286-7047] -->
<tr class="row7 rowodd">
<td class="col0 centeralign"> <a href="restconfbackend.html" class="wikilink1" title="documentation:2.0:restconfbackend">REST</a> <a href="new.png" class="media" title="documentation:2.0:new.png"><img src="new.edf565b3f89a0ad56df9a5e7a31a6de8.png" class="media" alt="" width="35" /></a> </td><td class="col1 centeralign"></td><td class="col2 leftalign"> Backend proxy à utiliser avec un autre backend de configuration. <br/><strong>Peut être utilisé pour sécuriser un autre backend</strong> pour des serveurs distants. </td>
</tr>
</table></div><!-- EDIT14 TABLE [6369-7351] -->
<div class="notetip">On ne peut démarrer avec une configuration vide, il faut donc lire <a href="changeconfbackend.html" class="wikilink1" title="documentation:2.0:changeconfbackend">comment changer de backend de configuration</a> pour convertir une configuration existante en une autre.
</div>
<p>
@ -539,13 +547,13 @@ Les sessions sont stockées en utilisant les modules de la famille <a href="http
<tr class="row8 roweven">
<td class="col0 centeralign"> <a href="soapsessionbackend.html" class="wikilink1" title="documentation:2.0:soapsessionbackend">SOAP</a> </td><td class="col1 centeralign"></td><td class="col2 centeralign"></td><td class="col3 centeralign"></td><td class="col4 centeralign"></td><td class="col5 leftalign"> Backend proxy à utiliser avec un autre backend de sessions. <br/> <strong>Peut être utilisé pour sécuriser un autre backend</strong> pour des serveurs distants. </td>
</tr>
</table></div><!-- EDIT15 TABLE [7912-9591] -->
</table></div><!-- EDIT15 TABLE [8216-9895] -->
<p>
</p></div></div>
</p>
</div><!-- EDIT13 SECTION "LLNG databases" [5988-9619] -->
</div><!-- EDIT13 SECTION "LLNG databases" [6071-9923] -->
<h2 class="sectionedit16" id="applications_protection">Protection des applications</h2>
<div class="level2">
@ -574,7 +582,7 @@ Les sessions sont stockées en utilisant les modules de la famille <a href="http
</p></div></div>
</p>
</div><!-- EDIT16 SECTION "Applications protection" [9620-10110] -->
</div><!-- EDIT16 SECTION "Applications protection" [9924-10414] -->
<h3 class="sectionedit17" id="well_known_compatible_applications">Well known compatible applications</h3>
<div class="level3">
@ -615,6 +623,12 @@ Les sessions sont stockées en utilisant les modules de la famille <a href="http
</div>
</p>
<p>
</p><div class="col-sm-3">
<a href="applications/fusiondirectory.html" class="media" title="documentation:2.0:applications:fusiondirectory"><img src="icons/kmultiple.png" class="mediacenter" title="FusionDirectory" alt="FusionDirectory" width="120" /></a>
</div>
</p>
<p>
</p><div class="col-sm-3">
<a href="applications/glpi.html" class="media" title="documentation:2.0:applications:glpi"><img src="icons/kmultiple.png" class="mediacenter" title="GLPI" alt="GLPI" /></a>
@ -655,7 +669,7 @@ Les sessions sont stockées en utilisant les modules de la famille <a href="http
</p></div>
</p>
</div><!-- EDIT17 SECTION "Well known compatible applications" [10111-11885] -->
</div><!-- EDIT17 SECTION "Well known compatible applications" [10415-12353] -->
<h2 class="sectionedit18" id="advanced_features">Fonctionnalités avancées</h2>
<div class="level2">
@ -706,7 +720,7 @@ Les sessions sont stockées en utilisant les modules de la famille <a href="http
</p></div></div>
</p>
</div><!-- EDIT18 SECTION "Advanced features" [11886-12823] -->
</div><!-- EDIT18 SECTION "Advanced features" [12354-13291] -->
<h2 class="sectionedit19" id="mini_howtos">Mini howtos</h2>
<div class="level2">
@ -737,7 +751,7 @@ Les sessions sont stockées en utilisant les modules de la famille <a href="http
</p></div></div>
</p>
</div><!-- EDIT19 SECTION "Mini howtos" [12824-13493] -->
</div><!-- EDIT19 SECTION "Mini howtos" [13292-13961] -->
<h2 class="sectionedit20" id="exploitation">Exploitation</h2>
<div class="level2">
@ -770,7 +784,7 @@ Les sessions sont stockées en utilisant les modules de la famille <a href="http
</p></div></div>
</p>
</div><!-- EDIT20 SECTION "Exploitation" [13494-13914] -->
</div><!-- EDIT20 SECTION "Exploitation" [13962-14382] -->
<h2 class="sectionedit21" id="developer_corner">Developer corner</h2>
<div class="level2">
@ -805,7 +819,21 @@ To develop a portal plugin, see manpages:
<p>
To add a new language <em>(XX must be replace by your language code)</em>:
To add a new language:
</p>
<ul>
<li class="level1"><div class="li"> Join us on <a href="https://www.transifex.com/lemonldapng/lemonldapng/dashboard/" class="urlextern" title="https://www.transifex.com/lemonldapng/lemonldapng/dashboard/" rel="nofollow">https://www.transifex.com/lemonldapng/lemonldapng/dashboard/</a></div>
</li>
<li class="level1"><div class="li"> translate the 3 files</div>
</li>
<li class="level1"><div class="li"> we will then put them in sources.</div>
</li>
</ul>
<p>
If you don't want to publish your translation <em>(XX must be replace by your language code)</em>:
</p>
<ul>
@ -831,7 +859,7 @@ To translate this doc (Manager help):
</li>
</ul>
</div><!-- EDIT21 SECTION "Developer corner" [13915-] -->
</div><!-- EDIT21 SECTION "Developer corner" [14383-] -->
</div>
</body>
</html>

View File

@ -99,13 +99,15 @@ In the manager (advanced parameters), you just have to enable it:
<ul>
<li class="level1"><div class="li"> U2F ⇒ Activation: set it to “on”</div>
</li>
<li class="level1"><div class="li"> U2F ⇒ Self registration: set it to “on” <em>(to display this application on the menu, create an application that points to <a href="http://auth.your.domain/u2fregister" class="urlextern" title="http://auth.your.domain/u2fregister" rel="nofollow">http://auth.your.domain/u2fregister</a>)</em></div>
<li class="level1"><div class="li"> U2F ⇒ Self registration: set it to “on” <em>(to display this application on the menu, create an application that points to <a href="http://auth.your.domain/u2fregister.html" class="urlextern" title="http://auth.your.domain/u2fregister.html" rel="nofollow">http://auth.your.domain/u2fregister.html</a>)</em></div>
</li>
<li class="level1"><div class="li"> U2F ⇒ Authentication level: you can overwrite here auth level for U2F registered users. Leave it blank keeps auth level provided by first authentication module <em>(default: 2 for user/password based modules)</em></div>
</li>
</ul>
<div class="noteimportant">If you want to use a custom rule for “activation” and want to keep self-registration, you must include this in your rule: <code>$_u2fKeyHandle and $_u2fUserKey</code>, else U2F will be required even if users are not registered. This is automatically done when “activation” is simply set to “on”.
</div><!-- EDIT3 SECTION "Configuration" [812-1322] -->
</div>
</div><!-- EDIT3 SECTION "Configuration" [812-1637] -->
<h2 class="sectionedit4" id="assistance">Assistance</h2>
<div class="level2">
@ -116,7 +118,7 @@ If a user lost its key, you may remove it's persistent session using the session
</p>
</div><!-- EDIT4 SECTION "Assistance" [1323-1438] -->
</div><!-- EDIT4 SECTION "Assistance" [1638-1753] -->
<h2 class="sectionedit5" id="developer_corner">Developer corner</h2>
<div class="level2">
@ -138,7 +140,7 @@ If you have another U2F registration interface, you have to populate session (us
<tr class="row2 roweven">
<td class="col0"> _u2fUserKey </td><td class="col1"> user key value, base64 encoded </td>
</tr>
</table></div><!-- EDIT6 TABLE [1593-1711] -->
</table></div><!-- EDIT6 TABLE [1908-2026] -->
<p>
@ -146,7 +148,7 @@ Note that both “origin” and “appId” are fixed to portal <abbr title="Uni
</p>
</div><!-- EDIT5 SECTION "Developer corner" [1439-] -->
</div><!-- EDIT5 SECTION "Developer corner" [1754-] -->
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="robots" content="noindex,nofollow"/>
<meta name="keywords" content="documentation,2.0,upgrade"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="upgrade.html"/>
@ -50,12 +50,18 @@
<div>
<ul class="toc">
<li class="level1"><div class="li"><a href="#installation">Installation</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#debian_wheezy">Debian Wheezy</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#configuration">Configuration</a></div></li>
<li class="level1"><div class="li"><a href="#logs">Journaux</a></div></li>
<li class="level1"><div class="li"><a href="#security">Sécurité</a></div></li>
<li class="level1"><div class="li"><a href="#handlers">Handlers</a></div></li>
<li class="level1"><div class="li"><a href="#rules_and_headers">Rules and headers</a></div></li>
<li class="level1"><div class="li"><a href="#supported_servers">Supported servers</a></div></li>
<li class="level1"><div class="li"><a href="#ajax_requests">Ajax requests</a></div></li>
<li class="level1"><div class="li"><a href="#soaprest_services">SOAP/REST services</a></div></li>
<li class="level1"><div class="li"><a href="#developer_corner">Developer corner</a></div>
<ul class="toc">
@ -75,13 +81,31 @@
</div>
</div><!-- EDIT1 SECTION "Upgrade from 1.9 to 2.0" [1-162] -->
<h2 class="sectionedit2" id="configuration">Configuration</h2>
<h2 class="sectionedit2" id="installation">Installation</h2>
<div class="level2">
</div><!-- EDIT2 SECTION "Installation" [163-188] -->
<h3 class="sectionedit3" id="debian_wheezy">Debian Wheezy</h3>
<div class="level3">
<p>
To build Debian package with Wheezy, remove <code>debian/lemonldap-ng-doc.maintscript</code> file.
</p>
</div><!-- EDIT3 SECTION "Debian Wheezy" [189-304] -->
<h2 class="sectionedit4" id="configuration">Configuration</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> User module in authentication parameters now provides a “Same as authentication” value. You must revalidate it in the manager since all special values must be replaced by this <em>(Multi, Choice, Proxy, Slave, <abbr title="Security Assertion Markup Language">SAML</abbr>, OpenID*,…)</em></div>
</li>
<li class="level1"><div class="li"> <strong>“Multi” doesn't exist anymore</strong>: it is replaced by the more powerful <a href="authcombination.html" class="wikilink1" title="documentation:2.0:authcombination">Combination</a></div>
</li>
<li class="level1"><div class="li"> Apache and Nginx configurations must updated to use the FastCGI portal</div>
</li>
</ul>
<div class="noteimportant">Apache-ModPerl is no longer usable since version 2.4 <em>(many segfaults,…)</em>, especially when using mpm-worker. That's why LLNG doesn't use anymore ModPerl::Registry: all is now handle by FastCGI <em>(portal and manager)</em>.
@ -91,9 +115,9 @@
</p>
</div>
</div><!-- EDIT2 SECTION "Configuration" [163-873] -->
</div><!-- EDIT4 SECTION "Configuration" [305-1090] -->
<h2 class="sectionedit3" id="logs">Journaux</h2>
<h2 class="sectionedit5" id="logs">Journaux</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> <strong>Syslog</strong>: logs are now configured only in <code>lemonldap-ng.ini</code> file. If you use Syslog, you must reconfigure it. See <a href="logs.html" class="wikilink1" title="documentation:2.0:logs">logs</a> for more.</div>
@ -102,9 +126,9 @@
</li>
</ul>
</div><!-- EDIT3 SECTION "Logs" [874-1285] -->
</div><!-- EDIT5 SECTION "Logs" [1091-1502] -->
<h2 class="sectionedit4" id="security">Sécurité</h2>
<h2 class="sectionedit6" id="security">Sécurité</h2>
<div class="level2">
<p>
@ -119,9 +143,9 @@ LLNG portal now embeds the following features:
</li>
</ul>
</div><!-- EDIT4 SECTION "Security" [1286-1853] -->
</div><!-- EDIT6 SECTION "Security" [1503-2070] -->
<h2 class="sectionedit5" id="handlers">Handlers</h2>
<h2 class="sectionedit7" id="handlers">Handlers</h2>
<div class="level2">
<p>
@ -130,9 +154,9 @@ Now, <a href="cda.html" class="wikilink1" title="documentation:2.0:cda">CDA</a>,
</p>
</div><!-- EDIT5 SECTION "Handlers" [1854-2202] -->
</div><!-- EDIT7 SECTION "Handlers" [2071-2419] -->
<h2 class="sectionedit6" id="rules_and_headers">Rules and headers</h2>
<h2 class="sectionedit8" id="rules_and_headers">Rules and headers</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> hostname() and remote_ip() are no more provided to avoid some name conflicts <em>(replaced by $ENV{})</em></div>
@ -143,18 +167,28 @@ Now, <a href="cda.html" class="wikilink1" title="documentation:2.0:cda">CDA</a>,
</li>
</ul>
</div><!-- EDIT6 SECTION "Rules and headers" [2203-2521] -->
</div><!-- EDIT8 SECTION "Rules and headers" [2420-2738] -->
<h2 class="sectionedit7" id="supported_servers">Supported servers</h2>
<h2 class="sectionedit9" id="supported_servers">Supported servers</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> Apache-1.3 files are not provided now. You can build them yourself by looking at Apache-2 configuration files</div>
</li>
</ul>
</div><!-- EDIT7 SECTION "Supported servers" [2522-2667] -->
</div><!-- EDIT9 SECTION "Supported servers" [2739-2884] -->
<h2 class="sectionedit8" id="soaprest_services">SOAP/REST services</h2>
<h2 class="sectionedit10" id="ajax_requests">Ajax requests</h2>
<div class="level2">
<p>
Before 2.0, an Ajax query that was launched after session timeout received a 302 code. Now a response 401 is given. The <code>WWW-Authenticate</code> header contains: <code><abbr title="Authentification unique (Single Sign On)">SSO</abbr> &lt;portal-<abbr title="Uniform Resource Locator">URL</abbr>&gt;</code>
</p>
</div><!-- EDIT10 SECTION "Ajax requests" [2885-3091] -->
<h2 class="sectionedit11" id="soaprest_services">SOAP/REST services</h2>
<div class="level2">
<ul>
<li class="level1"><div class="li"> SOAP server activation is now split in 2 parameters (configuration/sessions). You must set them else SOAP service will be disabled</div>
@ -169,14 +203,14 @@ Now, <a href="cda.html" class="wikilink1" title="documentation:2.0:cda">CDA</a>,
<div class="noteimportant"><a href="handlerauthbasic.html" class="wikilink1" title="documentation:2.0:handlerauthbasic">AuthBasic Handler</a> uses now REST services instead of SOAP.
</div>
</div><!-- EDIT8 SECTION "SOAP/REST services" [2668-3266] -->
</div><!-- EDIT11 SECTION "SOAP/REST services" [3092-3690] -->
<h2 class="sectionedit9" id="developer_corner">Developer corner</h2>
<h2 class="sectionedit12" id="developer_corner">Developer corner</h2>
<div class="level2">
</div><!-- EDIT9 SECTION "Developer corner" [3267-3296] -->
</div><!-- EDIT12 SECTION "Developer corner" [3691-3720] -->
<h3 class="sectionedit10" id="apis">APIs</h3>
<h3 class="sectionedit13" id="apis">APIs</h3>
<div class="level3">
<p>
@ -185,9 +219,9 @@ Portal has now many REST features and includes a plugin <abbr title="Interface d
</p>
</div><!-- EDIT10 SECTION "APIs" [3297-3454] -->
</div><!-- EDIT13 SECTION "APIs" [3721-3878] -->
<h3 class="sectionedit11" id="portal_overview">Portal overview</h3>
<h3 class="sectionedit14" id="portal_overview">Portal overview</h3>
<div class="level3">
<p>
@ -211,13 +245,24 @@ The request is a separated object based on Lemonldap::NG::Portal::Main::Request
</p>
</div><!-- EDIT11 SECTION "Portal overview" [3455-3902] -->
</div><!-- EDIT14 SECTION "Portal overview" [3879-4326] -->
<h3 class="sectionedit12" id="handler">Agent (Handler)</h3>
<h3 class="sectionedit15" id="handler">Agent (Handler)</h3>
<div class="level3">
<div class="noteimportant">Handler libraries have been totally rewritten. If you've made custom handlers, they must be rewritten. See <a href="customhandlers.html" class="wikilink1" title="documentation:2.0:customhandlers">customhandlers</a>
</div>
</div><!-- EDIT12 SECTION "Handler" [3903-] -->
<p>
Handler libraries have been totally rewritten. If you've made custom handlers, they must be rewritten, see <a href="customhandlers.html" class="wikilink1" title="documentation:2.0:customhandlers">customhandlers</a>.
</p>
<p>
If you had auto protected CGI, you also need to rewrite them, see <a href="selfmadeapplication.html#perl_auto-protected_cgi" class="wikilink1" title="documentation:2.0:selfmadeapplication">documentation</a>.
</p>
</div><!-- EDIT15 SECTION "Handler" [4327-] -->
</div>
</body>
</html>

View File

@ -177,13 +177,15 @@ Les règles peuvent également être utilisées pour intercepter les <abbr title
<td class="col0"> Logout user from current application and from Lemonldap::NG and redirect it to http://intranet/ <strong><em>(Apache only)</em></strong> </td><td class="col1 centeralign"> ^/index.php\?logout </td><td class="col2 centeralign"> logout_app_sso&nbsp;http://intranet/ </td>
</tr>
</table></div><!-- EDIT5 TABLE [2637-3285] -->
<div class="notewarning"><code>logout_app</code> and <code>logout_app_sso</code> rules are not available on Nginx, only on Apache.
</div>
<p>
Par défaut, l'utilisateur est redirigé vers le portail si aucune <abbr title="Uniform Resource Locator">URL</abbr> n'est définie ou vers l'<abbr title="Uniform Resource Locator">URL</abbr> indiquée sinon.
</p>
<div class="noteimportant">Seule l'application est concernée par les cibles logout_app*. Faire attention avec certaines applications qui ne vérifient pas les en-têtes Lemonldap::NG après avoir créé leurs propres cookies. Dans ce cas, il faut rediriger les utilisateurs vers une page <abbr title="HyperText Markup Language">HTML</abbr> qui explique qu'il est préférable de clore son navigateur après déconnexion.
</div>
</div><!-- EDIT3 SECTION "Rules" [1078-3696] -->
</div><!-- EDIT3 SECTION "Rules" [1078-3806] -->
<h3 class="sectionedit6" id="rules_on_authentication_level">Rules on authentication level</h3>
<div class="level3">
@ -222,7 +224,7 @@ There are two way to impose users to have a high authentication level:
<div class="notetip">Instead of returning a 403 code, “minimum level” returns user to a form that explain that a higher level is required and propose to user to reauthenticate itself.
</div>
</div><!-- EDIT6 SECTION "Rules on authentication level" [3697-4582] -->
</div><!-- EDIT6 SECTION "Rules on authentication level" [3807-4692] -->
<h2 class="sectionedit7" id="headers">En-têtes</h2>
<div class="level2">
@ -252,7 +254,7 @@ Exemples :
<tr class="row4 roweven">
<td class="col0 leftalign"> Done une valeur non-ascii </td><td class="col1 centeralign"> Display-Name </td><td class="col2 centeralign"> encode_base64($givenName."&nbsp;".$surName) </td>
</tr>
</table></div><!-- EDIT8 TABLE [4766-5099] -->
</table></div><!-- EDIT8 TABLE [4876-5209] -->
<p>
Comme indiqué au <a href="performances.html#handler_performance" class="wikilink1" title="documentation:2.0:performances">chapître performances</a>, on peut utiliser des macros, macros locales,…
@ -268,7 +270,7 @@ Comme indiqué au <a href="performances.html#handler_performance" class="wikilin
<pre class="code">Session-ID =&gt; $_session_id</pre>
</div>
</div><!-- EDIT7 SECTION "Headers" [4583-5632] -->
</div><!-- EDIT7 SECTION "Headers" [4693-5742] -->
<h2 class="sectionedit9" id="available_functions">Available functions</h2>
<div class="level2">
@ -285,7 +287,7 @@ In addition to macros and name, you can use some functions in rules and headers:
</li>
</ul>
</div><!-- EDIT9 SECTION "Available functions" [5633-] -->
</div><!-- EDIT9 SECTION "Available functions" [5743-] -->
</div>
</body>
</html>