Secioss Identity Suite Cloud Edition SP WindowsÈÇ
Secioss Identity Suite Cloud Edition¤Ï¡¢¥¯¥é¥¦¥É¥³¥ó¥Ô¥å¡¼¥Æ¥£¥ó¥°´Ä¶¤Ë¤ª¤¤¤ÆSAML 2.0¤Ë¤è¤ë¥·¥ó¥°¥ë¥µ¥¤¥ó¥ª¥ó¤äSOAPÄÌ¿®¤Ë¤è¤ë¥¢¥«¥¦¥ó¥ÈƱ´ü¤ò¥µ¥¤¥È´Ö¤Ç¼Â¸½¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£
Secioss Identity Suite Cloud Edition¡Ê°Ê¹ßIdentity Suite Cloud¤È¤·¤Þ¤¹¡Ë¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËƳÆþ¤¹¤ë¤³¤È¤Ç¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÂФ·¤Æ°Ê²¼¤Îµ¡Ç½¤ò´Êñ¤ËÄɲ乤뤳¤È¤Ç¤¤Þ¤¹¡£
¥·¥ó¥°¥ë¥µ¥¤¥ó¥ª¥ó
SAML¤ÎService Provider¤È¤·¤ÆÆ°ºî¤·¡¢SAML¤Ë¤è¤ë¥·¥ó¥°¥ë¥µ¥¤¥ó¥ª¥ó¤ò¹Ô¤¤¤Þ¤¹¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏIdentity Suite Cloud¤ÎÂåÍýǧ¾Úµ¡Ç½¤Ë¤è¤ê´Êñ¤ËSAMLǧ¾Úµ¡Ç½¤òÁȤ߹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
IDƱ´ü
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎID´ÉÍýÍÑSOAP API¤òÄ󶡤·¡¢SOAP·Ðͳ¤Ç¤ÎID´ÉÍý¤ä¥µ¥¤¥È´Ö¤Ç¤ÎIDƱ´ü¤ò¼Â¸½¤·¤Þ¤¹¡£Identity Suite Cloud¤Ï¡¢Äê´üŪ¤ËSOAP API¤Ç¹¹¿·¥Ç¡¼¥¿¤ò¼èÆÀ¤·¡¢LISM¤Ë¤è¤ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ØÈ¿±Ç¤·¤Þ¤¹¡£
¥ª¡¼¥×¥ó¥½¡¼¥¹¥×¥í¥¸¥§¥¯¥È
Identity Suite Cloud¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥ª¡¼¥×¥ó¥½¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤È¤·¤ÆGPL¥é¥¤¥»¥ó¥¹¤Ë¤è¤ê¸ø³«¤·¤Æ¤¤¤Þ¤¹¡£
¡¦¥×¥í¥¸¥§¥¯¥È¥µ¥¤¥È¡§http://sourceforge.jp/projects/secioss-auth/
¡¦¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¡§http://lists.sourceforge.jp/mailman/listinfo/secioss-auth-users
1. ¥¤¥ó¥¹¥È¡¼¥ë
Identity Suite Cloud SP¤òWindows´Ä¶¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¡¢²òÀ⤷¤Þ¤¹¡£
Identity Suite Cloud SP¤Î¿ä¾©´Ä¶¤Ï°Ê²¼¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¦OS¡§ Windows Server 2003°Ê¹ß
¡¦Web¥µ¡¼¥Ð¡§ IIS 6°Ê¹ß
º£²ó¤Î¥¤¥ó¥¹¥È¡¼¥ë´Ä¶¤È¤·¤Æ¤Ï¡¢Windows Server 2008¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£
¥·¥ó¥°¥ë¥µ¥¤¥ó¥ª¥ó¤Îǧ¾Ú¥µ¡¼¥Ð¡¢Åý¹çID´ÉÍý¥µ¡¼¥Ð¤Ï¡¢ÊÀ¼ÒSaaS¥µ¡¼¥Ó¥¹SeciossLink¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£
1.1 ActivePerl¤Î¥¤¥ó¥¹¥È¡¼¥ë
ActivePerl¤òhttp://www.activestate.com/activeperl/downloads/¤«¤é¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ²¼¤µ¤¤¡£ ¤Þ¤¿¡¢¹ç¤ï¤»¤ÆIIS¤ÇPerl¤ÎCGI¤¬»ÈÍѤǤ¤ë¤è¤¦¤ËÀßÄꤷ¤Æ¤ª¤¤¤Æ²¼¤µ¤¤¡£
¼¡¤Ë¡¢°Ê²¼¤ÎPerl¥â¥¸¥å¡¼¥ë¤ò¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ²¼¤µ¤¤¡£
Config-General¡¢Config-IniFiles¡¢Log-Dispatch¡¢Log-Dispatch-FileRotate¡¢Class-Inspector¡¢DBD-mysql
¡¡ppm install <¥Ñ¥Ã¥±¡¼¥¸Ì¾
1.2 PHP¤Î¥¤¥ó¥¹¥È¡¼¥ë
http://www.php.net/downloads.php¤«¤éPHP¤ÎWindows binary zip¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ²¼¤µ¤¤¡£
PHP¤ÎExtension¤È¤·¤Æ¡¢°Ê²¼¤Î¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ²¼¤µ¤¤¡£
¡¦ php_openssl.dll
1.3 Secioss Identity Suite Cloud Edition SP
secioss-idsuite-cloud-sp-win-3.x.x.zip¤òŸ³«¤·¤Æ¡¢opt¥Õ¥©¥ë¥À¤òC:\opt¤È¤·¤ÆÇÛÃÖ¤·¤Þ¤¹¡£
¼¡¤ËC:\opt¤Î[¥×¥í¥Ñ¥Æ¥£]->[¥»¥¥å¥ê¥Æ¥£]¤«¤é¡¢IUSR¡ÊWindows 2003 Server¤Ç¤ÏIUSR_<¥Þ¥·¥ó̾>¡Ë¡¢Users¤ËÂФ·¤Æ¥¢¥¯¥»¥¹µö²Ä¤òÍ¿¤¨¤Þ¤¹¡£
¤µ¤é¤Ë¡¢°Ê²¼¤Î¥Õ¥©¥ë¥À¤Ë¤ÏIUSR¡¢Users¤ËÂФ·¤Æ¥Õ¥ë¥³¥ó¥È¥í¡¼¥ë¤Î¥¢¥¯¥»¥¹µö²Ä¤òÍ¿¤¨¤Þ¤¹¡£
¡¦ C:\opt\secioss\share\simplesamlphp\log
¡¦ C:\opt\secioss\var\log
1.4 IIS¥Þ¥Í¡¼¥¸¥ã¤ÎÀßÄê
»ÈÍѤ¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ä¤¤¤Æ°Ê²¼¤Î¤è¤¦¤Ë²¾Áۥǥ£¥ì¥¯¥È¥ê¤òÀßÄꤷ¤Þ¤¹¡£
¡¡SAML ¥¨¥¤¥ê¥¢¥¹¡§<¥¢¥×¥ê¥±¡¼¥·¥ç¥óURL¤Î¥Ñ¥¹>/saml¡¡¥Ñ¥¹¡§C:\opt\secioss\share\simplesamlphp\www
¡¡ÂåÍýǧ¾Ú ¥¨¥¤¥ê¥¢¥¹¡§ <¥¢¥×¥ê¥±¡¼¥·¥ç¥óURL¤Î¥Ñ¥¹>/sso¡¡¥Ñ¥¹¡§ C:\opt\secioss\var\www\sso
¢¨ ¥¢¥×¥ê¥±¡¼¥·¥ç¥óURL¤Î¥Ñ¥¹¤Ï¡¢¥·¥ó¥°¥ë¥µ¥¤¥ó¥ª¥óÂоݤΥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎURL¤Î¤¦¤Á¤Î¥Ñ¥¹Éôʬ¤Ç¤¹¡£
¡¡ Îã¡§ URL: https://sp.example.com/SugarCE/index.php ¥Ñ¥¹: /SugarCE
2. ¥·¥ó¥°¥ë¥µ¥¤¥ó¥ª¥ó
2.1 SAMLǧ¾Ú¤ÎÀßÄê
"C:\opt\secioss\share\simplesamlphp\config\config.php"¤Î'baseurlpath'¤òIIS¤ÇÀßÄꤷ¤¿SAML¤Î¥¨¥¤¥ê¥¢¥¹¤Ë¡¢ 'default-saml20-idp'¤ò"<ǧ¾Ú¥µ¡¼¥Ð¤ÎURL>/<¥Æ¥Ê¥ó¥ÈID>"¡ÊÎã¡§ https://slink.secioss.com/secioss.co.jp¡Ë¤Ë¡¢SESSIONNAME¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥»¥Ã¥·¥ç¥ó¥¯¥Ã¥¡¼Ì¾¤ËÊѹ¹¤·¤Æ²¼¤µ¤¤¡£
"C:\opt\secioss\share\simplesamlphp\metadata\saml20-idp-remote.php"¤Î'SingleSignOnService'¡¢'SingleLogoutService'¤Î¥Û¥¹¥È̾¤òǧ¾Ú¥µ¡¼¥Ð¤Î¥Û¥¹¥È̾¤Ë¤ËÊѹ¹¤·¤Æ²¼¤µ¤¤¡£
¤Þ¤¿¡¢°Ê²¼¤ÎÃͤò"<ǧ¾Ú¥µ¡¼¥Ð¤ÎURL>/<¥Æ¥Ê¥ó¥ÈID>"¤ËÊѹ¹¤·¤Æ²¼¤µ¤¤¡£
'https://slink.secioss.com' => array(
¼¡¤Ë¡¢"C:\opt\secioss\share\simplesamlphp\metadata\saml20-sp-hosted.php"¤Î"https://sp.example.com/path"¤ò¥·¥ó¥°¥ë¥µ¥¤¥ó¥ª¥ó¤ò¹Ô¤¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎURL¡ÊURL¤Ï¥Ñ¥¹¤Þ¤Ç¤È¤·¤Æ¡¢¥Õ¥¡¥¤¥ë̾¤ÎÉôʬ¤Ï´Þ¤á¤Ê¤¤¤Ç²¼¤µ¤¤¡Ë¤ËÊѹ¹¤·¤Æ²¼¤µ¤¤¡£
¼¡¤Ë¡¢Ç§¾Ú¥µ¡¼¥Ð¤Î¸ø³«¸°"<ǧ¾Ú¥µ¡¼¥Ð¤Î¥Û¥¹¥È̾>/public/PublicKey-idp.pem"¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¡¢°Ê²¼¤Î¾ì½ê¤Ë"C:\opt\secioss\share\simplesamlphp\cert"¤ËÃÖ¤¤¤Æ²¼¤µ¤¤¡£
¼¡¤ËSAMLǧ¾ÚÍѤÎÈëÌ©¸°¤È¸ø³«¸°¤òºîÀ®¤·¤Þ¤¹¡£
°Ê²¼¤ÏLinux¾å¤ÇOpenSSL¤Ë¤è¤ëÈëÌ©¸°¤È¸ø³«¸°¤ÎºîÀ®¼ê½ç¤Ç¤¹¡£
¡ ÈëÌ©¸°¤òºîÀ®¤·¤Þ¤¹¡£
# cd /etc/pki/tls/certs
# make test.key
ÈëÌ©¸°¤«¤é¥Ñ¥¹¥ï¡¼¥É¤òºï½ü¤·¤Þ¤¹¡£
# openssl rsa -in test.key -out test.key
¢ ¸ø³«¸°¤òºîÀ®¤·¤Þ¤¹¡£
# make test.crt
Country Name (2 letter code) [GB]:JP¡¡←¡¡¹ñ̾
State or Province Name (full name) [Berkshire]:Tokyo¡¡←¡¡ÅÔÆ»Éܸ©Ì¾
Locality Name (eg, city) [Newbury]:Bunkyo¡¡←¡¡»Ô¶èĮ¼̾
Organization Name (eg, company) [My Company Ltd]:TEST, Inc¡¡←¡¡²ñ¼Ò̾
Organizational Unit Name (eg, section) []:¡¡←¡¡¶õENTER
Common Name (eg, your name or your server's hostname) []:sp.test.co.jp¡¡←¡¡¥Û¥¹¥È̾
Email Address []:admin@test.co.jp¡¡←¡¡´ÉÍý¼Ô¥á¡¼¥ë¥¢¥É¥ì¥¹
ÈëÌ©¸°¤Ï¡¢"C:\opt\secioss\share\simplesamlphp\cert\PrivateKey.pem"¤Ë¥³¥Ô¡¼¤·¤Æ²¼¤µ¤¤¡£
2.2 ÂåÍýǧ¾Ú¤ÎÀßÄê
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¼«Æ°¤Ç¥í¥°¥¤¥ó¤¹¤ë¤¿¤á¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
ÀßÄê¥Õ¥¡¥¤¥ë¤Ï¡¢"C:\opt\secioss\var\www\conf\<¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾¡ÊÁ´¤Æ¾®Ê¸»ú¡Ë>.ini"¤È¤·¤ÆºîÀ®¤·¤Æ²¼¤µ¤¤¡£
°Ê²¼¤ÏSugarCRMÍѤÎÀßÄêÎã¤Ç¤¹¡£
[url]
login = "https://sp.example.com/SugarCE/index.php?action=Login&module=Users"
back = "/SugarCE/"
[postName]
username = user_name
password = user_password
[postData]
module = Users
action = Authenticate
return_module = Users
return_action = Login
cant_login = ""
login_module = ""
login_action = ""
login_record = ""
login_theme = Sugar
login_language = ja
login_button = " ¥í¥°¥¤¥ó "
|
url |
login |
¥í¥°¥¤¥ó¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎURL |
|
back |
¥í¥°¥¤¥ó¸å¤Ëɽ¼¨¤¹¤ë²èÌ̤ÎURL |
|
|
postName |
username |
¥í¥°¥¤¥ó»þ¤ËPOST¤¹¤ë¥æ¡¼¥¶Ì¾¤ÎÊÑ¿ô̾ |
|
password |
¥í¥°¥¤¥ó»þ¤ËPOST¤¹¤ë¥Ñ¥¹¥ï¡¼¥É¤ÎÊÑ¿ô̾ |
[postData]¤Ë¤Ï¡¢POST¤¹¤ë¥Ç¡¼¥¿¤ÎÊÑ¿ô̾¤ÈÃͤÎÁȤ߹ç¤ï¤»¤òÀßÄꤷ¤Æ²¼¤µ¤¤¡£
2.3 ǧ¾Ú¥µ¡¼¥Ð¤ÎÀßÄê
https://<ǧ¾Ú¥µ¡¼¥Ð¤Î¥Û¥¹¥È̾>/tenantadmin/¤Ë¥¢¥¯¥»¥¹¤·¤Æ¡¢´ÉÍý¼Ô¥¢¥«¥¦¥ó¥È¤Ç¥í¥°¥¤¥ó¤·¤Þ¤¹¡£
²èÌ̾åÉô¤Î¥·¥ó¥°¥ë¥µ¥¤¥ó¥ª¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤«¤é¡¢º¸Â¦¥á¥Ë¥å¡¼¤Î”SAML ¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À”¤ò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£
”¿·µ¬ÅÐÏ¿”¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¡¢SP¤ÎÀßÄê¤òÅÐÏ¿¤·¤Þ¤¹¡£
¡¦¥µ¡¼¥Ó¥¹¡§¡¡¥µ¡¼¥Ó¥¹ID¤òÁªÂò¤·¤Æ²¼¤µ¤¤¡£
¡¦¥µ¡¼¥Ó¥¹Ì¾¡§¡¡SP¤Î¥µ¡¼¥Ó¥¹Ì¾¡ÊǤ°Õ¤ÎÃ͡ˤòÀßÄꤷ¤Æ²¼¤µ¤¤¡£
¡¦URL¡§¡¡2.1¹à¤ÇÀßÄꤷ¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎURL¤òÀßÄꤷ¤Æ²¼¤µ¤¤¡£
¡¦¥æ¡¼¥¶ID¤Î°À¡§¡¡SP¤ËÅϤ¹¥æ¡¼¥¶ID¤Î°À¤òÁªÂò¤·¤Æ²¼¤µ¤¤¡£
¡¦°Å¹æ²½ÍѸø³«¸°¡§¡¡2.1¹à¤ÇºîÀ®¤·¤¿¸ø³«¸°¤òÅÐÏ¿¤·¤Æ²¼¤µ¤¤¡£
3. IDƱ´ü
3.1 IDƱ´ü¤ÎÀßÄê
Identity Suite Cloud¤Ï¡¢LISM¤Ë¤è¤Ã¤ÆÄê´üŪ¤ËÅý¹çID´ÉÍý¥µ¡¼¥Ð¤«¤é¹¹¿·¥Ç¡¼¥¿¤ò¼èÆÀ¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤äLDAP¤Î¥¢¥«¥¦¥ó¥È¤ò¹¹¿·¤·¤Þ¤¹¡£
ºÇ½é¤Ë¡¢"C:\opt\secioss\etc\lism-sp.conf¤Î°Ê²¼¤ÎÃͤò´Ä¶¤Ë¹ç¤ï¤»¤ÆÊѹ¹¤·¤Æ²¼¤µ¤¤¡£
¡¦slink.secioss.com¡§ Åý¹çID´ÉÍý¥µ¡¼¥Ð¤Î¥Û¥¹¥È̾
¡¦TENANTID¡§¡¡¥Æ¥Ê¥ó¥ÈID
¡¦SERVICEID¡§¡¡2.3¹à¤Î¥µ¡¼¥Ó¥¹ID¡Ê¥Æ¥Ê¥ó¥ÈID¤Ï½ü¤¯¡Ë
¡¦ADMINID¡§¡¡Åý¹çID´ÉÍý¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë´ÉÍý¼Ô¥¢¥«¥¦¥ó¥È̾
¡¦ADMINPW¡§¡¡´ÉÍý¼Ô¥¢¥«¥¦¥ó¥È¤Î¥Ñ¥¹¥ï¡¼¥É
¤Þ¤¿¡¢IDƱ´üÂоݤΥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥æ¡¼¥¶ID¤Ë»ÈÍѤ¹¤ë°À¤Ë¹ç¤ï¤»¤Æ¡¢°Ê²¼¤ÎÊѹ¹¤ò¹Ô¤Ã¤Æ²¼¤µ¤¤¡£
¡¦¥æ¡¼¥¶ID¡§ "<!-- id ... -->"¤Î¥³¥á¥ó¥È¥¢¥¦¥È¤ò³°¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¦¥æ¡¼¥¶ID@¥Æ¥Ê¥ó¥ÈID¡§ Êѹ¹¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
¡¦¥á¡¼¥ë¥¢¥É¥ì¥¹¡§ "<!-- attribute ... -->"¤Î¥³¥á¥ó¥È¥¢¥¦¥È¤ò³°¤·¤Æ¡¢ATTRIBUTE¤òmail¤ËÊѹ¹¤·¤Æ²¼¤µ¤¤¡£
¡¦¼Ò°÷Èֹ桧 "<!-- attribute ... -->"¤Î¥³¥á¥ó¥È¥¢¥¦¥È¤ò³°¤·¤Æ¡¢ATTRIBUTE¤òemployeeNumber¤ËÊѹ¹¤·¤Æ²¼¤µ¤¤¡£
¡¦¥µ¡¼¥Ó¥¹¸ÄÊÌ¤Î¥í¥°¥¤¥óID¡§ "<!-- attribute ... -->"¤Î¥³¥á¥ó¥È¥¢¥¦¥È¤ò³°¤·¤Æ¡¢ATTRIBUTE¤òseciossLoginId;x-sys-<¥µ¡¼¥Ó¥¹ID>@<¥Æ¥Ê¥ó¥ÈID>
LISM¤ÎÀßÄê¥Õ¥¡¥¤¥ë/opt/secioss/etc/lism.conf¤Ë¡¢¹¹¿·ÂоݤΥǡ¼¥¿¥Ù¡¼¥¹¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
LISM¤ÎÀßÄêÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢LISM¤Î¥µ¥¤¥È¤ò¤´Í÷²¼¤µ¤¤¡£
SugarCRM¤òÎã¤È¤·¤ÆLISM¤ÎÀßÄê¤òÎ㼨¤·¤Þ¤¹¡£
lism.conf
<config>
<sync>
<data name="SP">
<object name="User">
<syncdn>ou=People</syncdn>
<syncfilter>(&(!(seciossAccountStatus=deleted))(&(objectClass=inetOrgPerson)(|(seciossAllowedService=sugarcrm-secioss.co.jp)(seciossAllowedService;x-perm-group=sugarcrm-secioss.co.jp))))</syncfilter>
<syncattr>
<name>sn</name>
</syncattr>
<syncattr>
<name>givenName</name>
</syncattr>
<syncattr>
<name>sn;lang-ja;phonetic</name>
</syncattr>
<syncattr>
<name>givenName;lang-ja;phonetic</name>
</syncattr>
</object>
</data>
</sync>
<data name="SP">
<container>
<oc>organizationalUnit</oc>
<rdn>o=SP</rdn>
</container>
<handler name="Rewrite">
<rewrite context="request" match="createtimestamp: *([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})Z" substitution="createtimestamp: %1-%2-%3 %4:%5:%6"/>
<rewrite context="searchResult" match="createtimestamp: *([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})" substitution="createtimestamp: %1%2%3%4%5%6Z"/>
<rewrite context="request" match="modifytimestamp: *([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})Z" substitution="modifytimestamp: %1-%2-%3 %4:%5:%6"/>
<rewrite context="searchResult" match="modifytimestamp: *([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})" substitution="modifytimestamp: %1%2%3%4%5%6Z"/>
</handler>
<storage name="SQL" hash="MD5:hex">
<libload>LISM/Utils/lism_util.pl</libload>
<libload>LISM/Utils/lism_sugarcrm.pl</libload>
<dsn>DBI:mysql:sugarcrm:localhost</dsn>
<admin>admin</admin>
<passwd>secret</passwd>
<initquery>set names utf8</initquery>
<noop>delete</noop>
<object name="User">
<container>
<rdn>ou=People</rdn>
<oc>organizationalUnit</oc>
</container>
<table>users</table>
<id>
<column>id</column>
</id>
<oc>Person</oc>
<oc>inetOrgPerson</oc>
<oc>seciossIamAccount</oc>
<rdn>uid</rdn>
<attr name="uid">
<column>user_name</column>
</attr>
<attr name="cn">
<selexpr>ifnull(concat(last_name, ' ', first_name), last_name)</selexpr>
</attr>
<attr name="sn">
<column>last_name</column>
</attr>
<attr name="givenname">
<column>first_name</column>
</attr>
<attr name="title">
<column>title</column>
</attr>
<attr name="department">
<column>department</column>
</attr>
<attr name="userpassword">
<column>user_hash</column>
</attr>
<attr name="homephone">
<column>phone_home</column>
</attr>
<attr name="telephonenumber">
<column>phone_work</column>
</attr>
<attr name="mobile">
<column>phone_mobile</column>
</attr>
<attr name="facsimiletelephonenumber">
<column>phone_fax</column>
</attr>
<attr name="ipphone">
<column>phone_other</column>
</attr>
<attr name="street">
<column>address_street</column>
</attr>
<attr name="l">
<column>address_city</column>
</attr>
<attr name="st">
<column>address_state</column>
</attr>
<attr name="c">
<column>address_country</column>
</attr>
<attr name="postalcode">
<column>address_postalcode</column>
</attr>
<attr name="createtimestamp">
<column>date_entered</column>
</attr>
<attr name="modifytimestamp">
<column>date_modified</column>
</attr>
<attr name="description">
<column>description</column>
</attr>
<strginfo>
<column>id</column>
<value type="function">createGuid()</value>
</strginfo>
<strginfo>
<column>status</column>
<value type="constant">Active</value>
<delproc>update users set status = 'Inactive' where id = '%o'</delproc>
</strginfo>
</object>
</storage>
</data>
</config>
¼¡¤Ë¡¢"C:\opt\secioss\var\www\cgi-bin\lismapi.conf"¤ÎADMINID¡¢ADMINPW¤ò¤½¤ì¤¾¤ì´ÉÍý¼Ô¤Î¥¢¥«¥¦¥ó¥È̾¡¢¥Ñ¥¹¥ï¡¼¥É¤ËÊѹ¹¤·¤Æ²¼¤µ¤¤¡£
4. ưºî³Îǧ
4.1 IDƱ´ü¤Î³Îǧ
SeciossLink¤«¤éID¤Î¹¹¿·¥Ç¡¼¥¿¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËƱ´ü¤·¤Þ¤¹¡£
¡¡# perl C:\opt\secioss\sbin\idsync sp
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÂФ¹¤ë¥Ç¡¼¥¿¤Î¹¹¿·¤Ï¹Ô¤ï¤º¤Ë¡¢¹¹¿·¥Ç¡¼¥¿¤Î³Îǧ¤Î¤ß¤·¤¿¤¤¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¡¢"C:\opt\secioss\var\lib\csv\user.csv"¤ÎÆâÍÆ¤ò³Îǧ¤·¤Æ²¼¤µ¤¤¡£
¡¡# perl C:\opt\secioss\sbin\idsync -n sp
¤Þ¤¿¡¢º¹Ê¬¥Ç¡¼¥¿¤Î¥Á¥§¥Ã¥¯¤Î¤ß¹Ô¤¦¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ²¼¤µ¤¤¡£
¡¡# perl C:\opt\secioss\sbin\idsync -r sp
Àµ¾ï¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÂФ·¤ÆID¤ÎƱ´ü¤¬¹Ô¤¨¤ë¤³¤È¤ò³Îǧ¤Ç¤¤¿¤é¡¢¥¿¥¹¥¯¤Ë1»þ´Ö¤Ë1²ó "perl C:\opt\secioss\sbin\idsync sp"¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤Æ²¼¤µ¤¤¡£
4.2 ¥·¥ó¥°¥ë¥µ¥¤¥ó¥ª¥ó¤Î³Îǧ
"<¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎURL>/sso/autologin.php?sso_app=<2.2¹à¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾>"¤Ë¥¢¥¯¥»¥¹¤·¤Æ¡¢¥·¥ó¥°¥ë¥µ¥¤¥ó¥ª¥ó¤¹¤ë¤³¤È¤ò³Îǧ¤·¤Æ²¼¤µ¤¤¡£
- µ»ö¤Î¾ÜºÙ¤Ï¤³¤Á¤é
- by
- at 18:24
- Trackbacks (0)


