<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Password synchronization? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948606#M944124</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Julius,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you so much for your help.  I am going to see if we can adopt the approach of using the Identity Center you introduced me to or by using SSO against our LDAP.  Changing to something like that or course will require an intense political effort as you might imagine.  In the short term, it would be helpful to move forward with deactivating the PASSCODE.  I believe the parameter login/password_downwards_compatibility will need to be set.  Can you advise what the value needs to be?  Iu2019m thinking it needs to be set to u20185u2019 but Iu2019m not positive.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you again for all your help,&lt;/P&gt;&lt;P&gt;John&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 09 Jun 2008 14:47:38 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-06-09T14:47:38Z</dc:date>
    <item>
      <title>Password synchronization?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948600#M944118</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I put together a couple programs that allows users to push their password from one system/client to all clients in a list of RFC destinations.  It simply takes the local USR02-BCODE value and pushes it to the remote destination, there it loops through T000 and USR02 to find the user, adjust the history, then update the uflag, ltime, pwdchgdate, and bcode.  This has worked very well for BASIS members and for IDu2019s like DDIC to allow a password to be managed in one system then u201Creplicatedu201D to all the other systems and clients that the user may exist in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This has worked well for us until the upgrade to NW70.  Now it seems the field PASSCODE has come into play.  Can someone explain the role of the field PASSCODE in relationship to the field BCODE.  Or explain if there is something else to consider when synchronizing passwords.  We have found this tool very helpful for quickly changing DDICu2019s and SAP*u2019s password when an employee or contractor leaves and we would like to continue to have this ability.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are 3 parts to this password synchronization process.  There is the prompt program that asks to the user ID to synchronize, there is a function module that is Remote-Enabled, and an include to execute the synchronization.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please keep in mind that I am a BASIS person so this code is not the best.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Z_SYNC_PASSWORD_PROMPT&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  Z_SYNC_PASSWORD_PROMPT                                      *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; The programs Z_SYNC_PASSWORD_PROMPT and Z_SYNC_PASSWORD_EXECUTE work&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; together to allow a user to be specified as a parameter.  That      *&lt;/P&gt;&lt;P&gt;*&amp;amp; user's password will be picked up from the current client and       *&lt;/P&gt;&lt;P&gt;*&amp;amp; propagated to every client where it exists for each destination you *&lt;/P&gt;&lt;P&gt;*&amp;amp; specify.                                                            *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  Z_SYNC_PASSWORD_PROMPT LINE-SIZE 120 MESSAGE-ID 38 NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; Modification log&lt;/P&gt;&lt;P&gt;*&amp;amp;   Date        CTS         Programmer  Description&lt;/P&gt;&lt;P&gt;*&amp;amp;   03/09/2007  XXXXXXXXXX  XXXXXX      Created the program&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: usr02, t000, rfcattrib.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: passwd like usr02-bcode,&lt;/P&gt;&lt;P&gt;      dest_sid(3),&lt;/P&gt;&lt;P&gt;      desti like rfcattrib-rfcdest,&lt;/P&gt;&lt;P&gt;      client like t000-mandt,&lt;/P&gt;&lt;P&gt;      rc_mandt like t000-mandt,&lt;/P&gt;&lt;P&gt;      dest like rfcattrib-rfcdest,&lt;/P&gt;&lt;P&gt;      rc type I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of itab occurs 10.&lt;/P&gt;&lt;P&gt;        include structure usr22.&lt;/P&gt;&lt;P&gt;data: end of itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of itab1 occurs 10,&lt;/P&gt;&lt;P&gt;        rfcdest type rfcdest,&lt;/P&gt;&lt;P&gt;      end of itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters:&lt;/P&gt;&lt;P&gt;      user like usr02-bname obligatory default sy-uname,&lt;/P&gt;&lt;P&gt;      p_pass like rsyst-bcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options:&lt;/P&gt;&lt;P&gt;      scr_dest for dest no intervals obligatory matchcode object H_RFCDEST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen output.&lt;/P&gt;&lt;P&gt;   loop at screen.&lt;/P&gt;&lt;P&gt;     if screen-name = 'P_PASS'.&lt;/P&gt;&lt;P&gt;       screen-active = '1'.&lt;/P&gt;&lt;P&gt;       screen-input = '1'.&lt;/P&gt;&lt;P&gt;       screen-output = '0'.&lt;/P&gt;&lt;P&gt;       screen-invisible = '1'.&lt;/P&gt;&lt;P&gt;       modify screen.&lt;/P&gt;&lt;P&gt;     endif.&lt;/P&gt;&lt;P&gt;   endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; Mainline routine&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; Get the user and their password.&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select single * from usr02 where bname = user.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    write: / user, 'user does not exist!'. exit.   "No template user&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  passwd = usr02-bcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform chk_password.&lt;/P&gt;&lt;P&gt;  if rc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; Change passwords in selected systems&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at scr_dest.&lt;/P&gt;&lt;P&gt;    desti = scr_dest-low.&lt;/P&gt;&lt;P&gt;    dest_sid = desti.&lt;/P&gt;&lt;P&gt;    if dest_sid = sy-sysid.              "If running against the current system&lt;/P&gt;&lt;P&gt;      client = sy-mandt.			"Tell receiveing program to skip current client&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      client = '066'.			"else use 066 as the client to skip&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;      refresh itab.&lt;/P&gt;&lt;P&gt;      clear itab.&lt;/P&gt;&lt;P&gt;      perform chg_desti.                   "RFC to desti and sync the password&lt;/P&gt;&lt;P&gt;      commit work and wait.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if rc = 0.&lt;/P&gt;&lt;P&gt;      message s000 with 'Processing complete'.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; End of Mainline routine&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; Forms&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; CHG_DESTI&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; This routine calls the Z_SYNC_PASSWORD function module on remote&lt;/P&gt;&lt;P&gt;*&amp;amp; hosts.&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form chg_desti.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'Z_SYNC_PASSWORD' destination desti&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      passwd_user     = user&lt;/P&gt;&lt;P&gt;      passwd_bcode    = passwd&lt;/P&gt;&lt;P&gt;      passwd_ex_mandt = client&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      passwd_itab     = itab&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      passwd_fail     = 1&lt;/P&gt;&lt;P&gt;      others          = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  rc = sy-subrc.&lt;/P&gt;&lt;P&gt;  case rc.&lt;/P&gt;&lt;P&gt;    when '0'.&lt;/P&gt;&lt;P&gt;      write: / 'Clients updated for', dest_sid.&lt;/P&gt;&lt;P&gt;      loop at itab.&lt;/P&gt;&lt;P&gt;        write: / '  ', itab-mandt.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write: /.&lt;/P&gt;&lt;P&gt;    when '1'.&lt;/P&gt;&lt;P&gt;      write: / user, ' was not found in any clients on', dest_sid.&lt;/P&gt;&lt;P&gt;      write: /.&lt;/P&gt;&lt;P&gt;    when '2'.&lt;/P&gt;&lt;P&gt;      write: / 'ERROR...received when trying to update', dest_sid.&lt;/P&gt;&lt;P&gt;      write: /.&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  refresh itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "chg_desti&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; CHK_PASSWORD&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; This routine is used to double check that the user knows the current&lt;/P&gt;&lt;P&gt;*&amp;amp; password of the user id being synchronized.&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form chk_password.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'SUSR_LOGIN_CHECK_RFC'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;          bname = user&lt;/P&gt;&lt;P&gt;          password = p_pass&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;          user_locked      = 1&lt;/P&gt;&lt;P&gt;	   user_not_active  = 2&lt;/P&gt;&lt;P&gt;          password_expired = 3&lt;/P&gt;&lt;P&gt;          wrong_password   = 4&lt;/P&gt;&lt;P&gt;          internal_error   = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  rc = sy-subrc.&lt;/P&gt;&lt;P&gt;  if rc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    message i000 with 'Current password validation for ' user&lt;/P&gt;&lt;P&gt;                      'failed. Error = ' rc.&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "chk_password&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Z_SYNC_PASSWORD&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Function module &lt;/P&gt;&lt;P&gt;Processing Type:  Remote-Enabled Module&lt;/P&gt;&lt;P&gt;Import:&lt;/P&gt;&lt;P&gt;PASSWD_USER  LIKE  USR02-BNAME&lt;/P&gt;&lt;P&gt;PASSWD_BCODE  LIKE  USR02-BCODE&lt;/P&gt;&lt;P&gt;PASSWD_EX_MANDT  LIKE  USR02-MANDT&lt;/P&gt;&lt;P&gt;Tables:&lt;/P&gt;&lt;P&gt;PASSWD_ITAB  LIKE  USR02&lt;/P&gt;&lt;P&gt;Exceptions:&lt;/P&gt;&lt;P&gt;PASSWD_FAIL&lt;/P&gt;&lt;P&gt;Source code:&lt;/P&gt;&lt;P&gt;FUNCTION Z_SYNC_PASSWORD.&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;STRONG&gt;"&lt;/STRONG&gt;"Local Interface:&lt;/P&gt;&lt;P&gt;*"  IMPORTING&lt;/P&gt;&lt;P&gt;*"     VALUE(PASSWD_USER) LIKE  USR02-BNAME&lt;/P&gt;&lt;P&gt;*"     VALUE(PASSWD_BCODE) LIKE  USR02-BCODE&lt;/P&gt;&lt;P&gt;*"     VALUE(PASSWD_EX_MANDT) LIKE  USR02-MANDT&lt;/P&gt;&lt;P&gt;*"  TABLES&lt;/P&gt;&lt;P&gt;*"      PASSWD_ITAB STRUCTURE  USR02&lt;/P&gt;&lt;P&gt;*"  EXCEPTIONS&lt;/P&gt;&lt;P&gt;*"      PASSWD_FAIL&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include Z_SYNC_PASSWORD_EXECUTE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFUNCTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Z_SYNC_PASSWORD_EXECUTE&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  Include           Z_SYNC_PASSWORD_EXECUTE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; The programs Z_SYNC_PASSWORD_PROMPT and Z_SYNC_PASSWORD_EXECUTE work&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; together to allow a user to be specified as a parameter.  That      *&lt;/P&gt;&lt;P&gt;*&amp;amp; user's password will be picked up from the current client and       *&lt;/P&gt;&lt;P&gt;*&amp;amp; propagated to every client where it exists for each destination you *&lt;/P&gt;&lt;P&gt;*&amp;amp; specify.                                                            *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; Modification log&lt;/P&gt;&lt;P&gt;*&amp;amp;   Date        CTS         Programmer  Description&lt;/P&gt;&lt;P&gt;*&amp;amp;   03/09/2007  XXXXXXXXXX  XXXXXX      Created the program&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: usr02, t000.&lt;/P&gt;&lt;P&gt;data: user like usr02-bname,&lt;/P&gt;&lt;P&gt;      passwd like usr02-bcode,&lt;/P&gt;&lt;P&gt;      client like t000-mandt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;user = passwd_user.&lt;/P&gt;&lt;P&gt;passwd = passwd_bcode.&lt;/P&gt;&lt;P&gt;client = passwd_ex_mandt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear passwd_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"if running againts current system, the current client will be skipped&lt;/P&gt;&lt;P&gt;"else CLIENT will be set to 066 also having no effect on the program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from t000 where mandt &amp;lt;&amp;gt; '066' and mandt &amp;lt;&amp;gt; client.&lt;/P&gt;&lt;P&gt;  select * from usr02 client specified where mandt = t000-mandt and&lt;/P&gt;&lt;P&gt;           bname = user and codvn &amp;lt;&amp;gt; 'X'.&lt;/P&gt;&lt;P&gt;    passwd_itab-mandt = usr02-mandt.&lt;/P&gt;&lt;P&gt;    append passwd_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  push history back one&lt;/P&gt;&lt;P&gt;*&amp;amp;  5 from 4&lt;/P&gt;&lt;P&gt;    usr02-ocod5 = usr02-ocod4.&lt;/P&gt;&lt;P&gt;    usr02-bcda5 = usr02-bcda4.&lt;/P&gt;&lt;P&gt;    usr02-codv5 = usr02-codv4.&lt;/P&gt;&lt;P&gt;*&amp;amp;  4 from 3&lt;/P&gt;&lt;P&gt;    usr02-ocod4 = usr02-ocod3.&lt;/P&gt;&lt;P&gt;    usr02-bcda4 = usr02-bcda3.&lt;/P&gt;&lt;P&gt;    usr02-codv4 = usr02-codv3.&lt;/P&gt;&lt;P&gt;*&amp;amp;  3 from 2&lt;/P&gt;&lt;P&gt;    usr02-ocod3 = usr02-ocod2.&lt;/P&gt;&lt;P&gt;    usr02-bcda3 = usr02-bcda2.&lt;/P&gt;&lt;P&gt;    usr02-codv3 = usr02-codv2.&lt;/P&gt;&lt;P&gt;*&amp;amp;  2 from 1&lt;/P&gt;&lt;P&gt;    usr02-ocod2 = usr02-ocod1.&lt;/P&gt;&lt;P&gt;    usr02-bcda2 = usr02-bcda1.&lt;/P&gt;&lt;P&gt;    usr02-codv2 = usr02-codv1.&lt;/P&gt;&lt;P&gt;*&amp;amp;  1 from current&lt;/P&gt;&lt;P&gt;    usr02-ocod1 = usr02-bcode.&lt;/P&gt;&lt;P&gt;    usr02-bcda1 = USR02-pwdchgdate.&lt;/P&gt;&lt;P&gt;    usr02-codv1 = usr02-codvn.&lt;/P&gt;&lt;P&gt;*&amp;amp;  set new current&lt;/P&gt;&lt;P&gt;    usr02-bcode = passwd.&lt;/P&gt;&lt;P&gt;    usr02-uflag = 0.&lt;/P&gt;&lt;P&gt;    usr02-ltime = sy-uzeit.&lt;/P&gt;&lt;P&gt;    usr02-pwdchgdate = sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    update usr02 client specified.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endselect.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;commit work and wait.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jun 2008 21:58:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948600#M944118</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-06T21:58:38Z</dc:date>
    </item>
    <item>
      <title>Re: Password synchronization?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948601#M944119</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt; Please keep in mind that I am a BASIS person so this code is not the best.&lt;/P&gt;&lt;P&gt;If it works to synchronize passwords, then that is a fair statement &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;At the least, you should consider the consequences and warn the data / system owners about it. &lt;/P&gt;&lt;P&gt;It should not &lt;EM&gt;just&lt;/EM&gt; be a convenience, and the source of the sync should be very secure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What has happened now, is that the hash code for the new password hashing mechanism has a system and client specific attribute to it, so you cannot synchronize passwords accross systems by simply synchronizing the hashes. In fact, even the sysid and mandt won't help you as far as I know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would challenge the requirement in the first place, but if you can present a valid reason and scenario for doing this, then perhaps there is a way to do this if you are willing to accept the risk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Julius&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jun 2008 22:19:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948601#M944119</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-06T22:19:08Z</dc:date>
    </item>
    <item>
      <title>Re: Password synchronization?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948602#M944120</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are also updating SAP tables directly. That is always a bad idea because they and the interpretation of them and their fields, change (without warning).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;General bad idea...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jun 2008 22:44:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948602#M944120</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-06T22:44:30Z</dc:date>
    </item>
    <item>
      <title>Re: Password synchronization?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948603#M944121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is very helpful for the BASIS team to have a way to quickly and easily synchronize their passwords across the systems and clients within our environment.  We have some 190 systems of which most are support systems with more than 1 client.  Manually synchronizing or keeping track of all those passwords is nearly impossible.  Prior to setting up this method with half the servers we have now it took me about 2 hours to synchronize my password.  With this method, Iu2019m done in a couple minutes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The prompt program is only available in the CUA system and only BASIS is aware or allowed to use it.  When I provided the code, I removed most of the sections that perform the edits.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Of course this type of tool always has the risk of not working, like I am dealing with now. However, the benefits and time savings of having 50+ BASIS members adjusting all their passwords in minutes vs. hours every 6 weeks is worth trying to get something to work.  That can be a savings of approximately 800 hours of BASIS rates per year.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this explains the value of such a functionality and I would really appreciate any assistance that can be provided to help make this work.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Jun 2008 04:23:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948603#M944121</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-07T04:23:17Z</dc:date>
    </item>
    <item>
      <title>Re: Password synchronization?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948604#M944122</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One solution is to use a "password vault" to keep the passwords in, and then only change the password whenever it is next used (and then also change it in the vault). This has an added advantage that the passwords are less likely to be the same or weak or have a potentially "crackable" password convention accross these 190 systems. There are a number of such products available. You might also want to consider a special user group for these users, such that they are not locked as easily due to inactivity in the client / system, and the auditability of who accessed and changed the password.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another alternate way of doing this (though there are some warnings in the document) is via a [password-hook|https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/security-and-identity-management/identity-and-access-management/identity%20center%20-%20active%20directory%20password%20hook.pdf].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Julius&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Jun 2008 08:12:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948604#M944122</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-07T08:12:45Z</dc:date>
    </item>
    <item>
      <title>Re: Password synchronization?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948605#M944123</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Another thread which will help you is this one (&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="690078"&gt;&lt;/A&gt;). Your sync tool is not meant to work for a reason (typically sharing of user ID's and inconsistencies in SAP's USR and USH tables, such as missing change documents...). You could for a while set the downward compatability settings for the whole system such that PASSCODE is irrelevant, but the package concept will be stronger as far as I know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My personal recommendation would be to use an individual "password vault" and not use DDIC (protected by a user group) except at upgrades. A central "password vault" can also be used, if it's own "DDIC" is secured.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Julius&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Jun 2008 20:37:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948605#M944123</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-07T20:37:20Z</dc:date>
    </item>
    <item>
      <title>Re: Password synchronization?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948606#M944124</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Julius,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you so much for your help.  I am going to see if we can adopt the approach of using the Identity Center you introduced me to or by using SSO against our LDAP.  Changing to something like that or course will require an intense political effort as you might imagine.  In the short term, it would be helpful to move forward with deactivating the PASSCODE.  I believe the parameter login/password_downwards_compatibility will need to be set.  Can you advise what the value needs to be?  Iu2019m thinking it needs to be set to u20185u2019 but Iu2019m not positive.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you again for all your help,&lt;/P&gt;&lt;P&gt;John&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jun 2008 14:47:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948606#M944124</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-09T14:47:38Z</dc:date>
    </item>
    <item>
      <title>Re: Password synchronization?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948607#M944125</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, as far as I know the value you need using that approach is '5', but have not tried this myself so there &lt;EM&gt;might&lt;/EM&gt; be surprises.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another possible and safer option (though you should check this with your license manager) would be to change the user type to 'service' (such that an intitial password no longer needs to be changed), but is still &lt;EM&gt;okay&lt;/EM&gt; for your password expiry date policy (you mentioned wanting to "manually" reset the pw every 6 weeks). You could then use the standard SAP API's to BAPI a compatable password (not the hash!) to the higher release systems. This would save your tool miles of coding and not interfer with the new password rules for systems which do use it. You could "think it pretty" as a "basis &lt;EM&gt;service&lt;/EM&gt;" in the system... &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To be honest, I think the problem is still sharing of accounts and / or the number of systems which passwords are needed for, and the solution is a "password vault" if many passwords are required for &lt;EM&gt;strong&lt;/EM&gt; authentication of many user accounts with &lt;EM&gt;strong&lt;/EM&gt; access.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Julius&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS: I was an auditor for a while. Do you not think your auditors will notice that the hashes are the same and the change docs are missing / inconsistent and become sceptical?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jun 2008 15:11:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948607#M944125</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-09T15:11:08Z</dc:date>
    </item>
    <item>
      <title>Re: Password synchronization?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948608#M944126</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; PS: I was an auditor for a while. Do you not think your auditors will notice that the hashes are the same and the change docs are missing / inconsistent and become sceptical?&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Julius, the vast majority of Auditors are not as thorough as you! &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jun 2008 15:27:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948608#M944126</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-09T15:27:10Z</dc:date>
    </item>
    <item>
      <title>Re: Password synchronization?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948609#M944127</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Julius,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will test the parameter set at u20185u2019 first.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In principle, I agree with what you are saying about retaining the strength of the passwords.  I have been struggling to get the team to accept more appropriate approaches to generic IDu2019s like DDIC and SAP* but it is a tuff task.  Also, only the BASIS members have the issue of so many passwords in so many places.  If we were able to shift to SSO, that would eliminate the need to sync their passwords.  The use of password vaults is in use today but it is a tuff administrative task with so many systems and so many clients.  I believe my course of action for this effort will involve a couple phases.  First will be to try and get the sync programs working across all the systems again.  Next will be a dual effort of stopping the use of generic IDu2019s and implementing SSO or Identity Center.  The latter will require my best campaigning.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I donu2019t believe the auditors, or anyone else for that matter, will know what happens at this level.  BASIS is the only group that understands the integration of the systems.  Everyone else thinks of the SAP systems as exclusive to their own business need, including the auditors.  In fact, that is why we have ended up with so many systems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for all your help,&lt;/P&gt;&lt;P&gt;John&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jun 2008 15:50:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948609#M944127</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-09T15:50:18Z</dc:date>
    </item>
    <item>
      <title>Re: Password synchronization?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948610#M944128</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sounds like a good plan. At least you have the named user part in place already, that is a big advantage. Of course, when using LDAP you need to be more carefull (from the SAP perspective) with the AD password management of such users.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; I donu2019t believe the auditors, or anyone else for that matter, will know what happens at this level. BASIS is the only group that understands the integration of the systems.  &lt;/P&gt;&lt;P&gt;I was an auditor and I know some others who would look for this sort of thing. Infact, if something went seriously wrong, SAP could even cancel support for the systems. See SAP note # 7. I think even the finance auditors would notice that, who would then inform the IT auditors to &lt;EM&gt;go looking&lt;/EM&gt;, if they had not seen it themselves yet.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; Everyone else thinks of the SAP systems as exclusive to their own business need, including the auditors. In fact, that is why we have ended up with so many systems.&lt;/P&gt;&lt;P&gt;Can't think of anything to say about that right now...  &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Seriously, instead of the direct table update, try tcode BAPI =&amp;gt; Basis =&amp;gt; Security =&amp;gt; User =&amp;gt; Change =&amp;gt; Documentation. You can wrap it in your own RFC if you want to add more security, or call it on it's own.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Julius&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jun 2008 16:17:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948610#M944128</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-09T16:17:34Z</dc:date>
    </item>
    <item>
      <title>Re: Password synchronization?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948611#M944129</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Password synchronization (in general) is a bad idea - for the following reasons:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. it does not scale: imagine you have about 100 systems; each time a user changes his password in one of the systems you need to notify all other 99 systems - for which all of them have to be ready to process the notification message ... (if you believe you can manage, then multiple the number by 10, ...)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. each system implements its own (local) password policy; you'd have to decrease the password policy to the maximum common one (which will be a pretty weak one the more different systems you take into account since they'll have nearly nothing in common)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. data replication takes time - what happens if the user is attempting to access another system before the password replication has finished ...? The more systems you need to notify the slower the entire process will be and the more likely it will happen that in the meantime such requests will be (attempted) to be processed - which however will fail and might even result in "password locked" situations ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. if you'd really have managed to keep the password in synch, you have to keep in mind that the number of "permissible password logon attempts" is effectively increased: once you've reached the limit on one system you can continue to try your luck on other system (knowning that the password is identical on all of them) ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There can only be one conclusion out of that: that's not a good approach.&lt;/P&gt;&lt;P&gt;If a user should be able to logon with the same password on many systems then choose a SSO approach that ensures that the user really only has one single password (not replicated but validated centrally) - that password might be the same as your "network password" (-&amp;gt; Windows Integrated Authentication, Kerberos, SPNEGO) or a password / PIN which you need to provide in order to activate your PKI credentials (just to mention the other fraction of SSO solution providers).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jun 2008 20:07:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/password-synchronization/m-p/3948611#M944129</guid>
      <dc:creator>Wolfgang_Janzen</dc:creator>
      <dc:date>2008-06-30T20:07:40Z</dc:date>
    </item>
  </channel>
</rss>

