Tedious: рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо/рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 1 рдЕрдЧре░ 2016  ┬╖  17рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: tediousjs/tedious

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдПрдХ рд╣реА рдбреЛрдореЗрди рдкрд░ рд╣реВрдВ, рдлрд┐рд░ рднреА рдореБрдЭреЗ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо/рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ ADO.NET рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо/рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд╕реНрдЯреЛрд░ рд╕реЗ рдХреЗрд░реНрдмреЗрд░реЛрдЬ рдЯреЛрдХрди рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдХреНрд╖рдорддрд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ Tedious рдХреЗ рд╕рд╛рде рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ? рдпрд╛ рдХреНрдпрд╛ рдХреЛрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо/рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛?

@arobson @arthurschreiber - рд╡рд┐рдЪрд╛рд░ рдХреГрдкрдпрд╛ред

Follow up Response needed

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВрдиреЗ sspi-client рдХреЛ рдердХрд╛рдК рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рде рдХреБрдЫ рдлреЗрдВрдХрд╛ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд░рддрд╛ рд╣реИ! рдореИрдВ рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ ntlm, kerberos рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдкреИрдХреЗрдЬ рдкрд░ рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛!

@arthurschreiber рдЖрдк рдпрд╣рд╛рдВ рд╣реИрдХ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдкреАрдЖрд░ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рдореБрджреНрджреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред
https://github.com/tvrprasad/tedious/tree/windows-integrated-auth-draft

рд╕рднреА 17 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВрдиреЗ рдЗрд╕рдХреА рдХреБрдЫ рдЬрд╛рдВрдЪ рдХреАред рдореИрдВрдиреЗ рдЕрдм рддрдХ рдЬреЛ рд╕реАрдЦрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯреЗрдб рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдПрд╕рдПрд╕рдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдиреЛрдбрдЬреЗрдПрд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрд╕рдПрд╕рдкреАрдЖрдИ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдиреЛрдб-рдПрд╕рдПрд╕рдкреАрдЖрдИ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИред рд╕рд╛рде рд╣реА рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ HTTP рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдореВрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдПрд╕рдПрд╕рдкреАрдЖрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдореВрд▓ рдХреЛрдб рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдПрдХ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдПрдХ рдирдП рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдПрд╕рдПрд╕рдкреАрдЖрдИ рд╕рдорд░реНрдерди рдмрдирд╛рдирд╛ рд╣реИ рдЬреЛ рдЯреЗрдбрд┐рдпрд╕ рджреНрд╡рд╛рд░рд╛ рдЦрдкрдд рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ рдФрд░ рдЯреЗрдбрд┐рдпрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯреЗрдб рдСрде рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд▓реЗрддрд╛ рд╣реИред

рдХрд┐рд╕реА рднреА рд╡рд┐рдЪрд╛рд░ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗред рдзрдиреНрдпрд╡рд╛рджред

рд╣рд╛рдБ, рдпрд╣ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдмрд╛рдЗрдирд░реА рдореЙрдбреНрдпреВрд▓ рдердХрд╛рдК рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ npm рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдкрд░ред

рдардВрдбрд╛ред рдкрд╣рд▓реЗ рдХрдЯ рдореЗрдВ рд╕рдВрднрд╡рддрдГ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реЛрдЧрд╛ред рдХреНрдпрд╛ рд╣рдо рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реИрдВ?

рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯреЗрдб рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдкреАрдЖрдИ рд╣реИрдВред рд╣рдореЗрдВ рджреЛрдиреЛрдВ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ рдореЗрдВ рд╕рдорд░реНрдерди рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рд╡рд┐рдВрдбреЛрдЬ рдмрдирд╛рдо рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреИрдХреЗрдЬреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдорд┐рд╕рд╛рд▓ рд╣реИред

рдардВрдбрд╛ред рдкрд╣рд▓реЗ рдХрдЯ рдореЗрдВ рд╕рдВрднрд╡рддрдГ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реЛрдЧрд╛ред рдХреНрдпрд╛ рд╣рдо рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реИрдВ?

рд╣рд╛рдБ рдпрд╣ рдареАрдХ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдареАрдХ рд╣реИред рдореИрдВ

рдореИрдВ рдЕрдкрдиреЗ рдорди рдореЗрдВ ClientSspi рдХреНрд▓рд╛рд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЫреЛрдЯрд╛ рд╕реНрдирд┐рдкреЗрдЯ рд╕рд╛рдЭрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХреГрдкрдпрд╛ рдПрдкреАрдЖрдИ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред

ClientSspi = require('ClientSspi');

serverName = 'servername.example.com';

// Server name should be the only configuration. Windows SSPI APIs will get
// the tokens to be presented to the server to authenticate the logged in user.
clientSspi = new ClientSspi(serverName);

// authprotocol parameter can take three values.
// Negotiate, Kerberos, Ntlm
// Negotiate: With this option client will negotiate with the server
// on security protocol using SPNEGO.
//
// If nothing is specified, the first supported protocol will be used. The
// protocols will be attempted in the sequence listed above.
clientSspi.initialize(authprotocol, function(errorCode, errorString) {
  if (errorCode || errorString) {
    throw('SSPI intialization failed: ', errorCode, ': ', errorString);
  }

  var sspiServerResponse = new Uint8Array([]);
  var sspiDone = false;

  while (!sspiDone) {
    // This call gets the next set of bytes to send to the server as part of the
    // SSPI dance.
    clientSspi.getNextSspiBlob(sspiServerResponse, function (sspiClientResponse, isDone, errorCode, errorString) {
      if (errorCode || errorString) {
        throw('SSPI intialization failed: ', errorCode, ': ', errorString);
      }

      sspiDone = isDone;

      // This function will send the sspiClientResponse to the server and invokes the
      // callback when the response from the server becomes available.
      SendSspiBlobToSqlServerAndGetResponse(sspiClientResponse, function (serverResponse, errorString) {
        if (errorString) {
          throw(errorString);
        }

        sspiServerResponse = serverResponse;
      });
    });
  }
});

рдореЗрд░реЗ рдкрд╛рд╕ https://github.com/tvrprasad/sspi-client рдкрд░ рдПрдкреАрдЖрдИ рдХрд╛ рдПрдХ рд╕реНрдЯрдм рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ

@arthurschreiber рдХреГрдкрдпрд╛ рдореМрдХрд╛ рдорд┐рд▓рдиреЗ рдкрд░ рдЬрд▓реНрджреА рд╕реЗ рдкрд╛рд╕ рдХрд░реЗрдВред рдореБрдЭреЗ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреЗрдЬреЗрдВ рдпрд╛ рднрдВрдбрд╛рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЦреБрд▓реЗ рдореБрджреНрджреЗред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднрд░ рджреЗрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЗрд╕реЗ рдЯреЗрдбрд┐рдпрд╕ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯреЗрдб рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВрдиреЗ sspi-client рдХреЛ рдердХрд╛рдК рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рде рдХреБрдЫ рдлреЗрдВрдХрд╛ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд░рддрд╛ рд╣реИ! рдореИрдВ рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ ntlm, kerberos рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдкреИрдХреЗрдЬ рдкрд░ рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛!

@arthurschreiber рдЖрдк рдпрд╣рд╛рдВ рд╣реИрдХ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдкреАрдЖрд░ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рдореБрджреНрджреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред
https://github.com/tvrprasad/tedious/tree/windows-integrated-auth-draft

рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдиреЗ рддрдХ Windows рдПрдХреАрдХреГрдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛, https://github.com/tediousjs/tedious/commit/f5a2260f рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг

@ рд╡реА-рд╕реБрд╣рд╛рдореЗ рдЗрд╕рдореЗрдВ рдирд╡реАрдирддрдо рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдк рд╕рд┐рд░реНрдл #624 рдкрд░ рдЗрдВрддрдЬрд╝рд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬреЛ рдореИрдВ рдЗрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

@kevinkuszyk рдирд╡реАрдирддрдо рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @arthurschreiber рдореЗрдВ рд▓реВрдкрд┐рдВрдЧ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рд▓рд┐рдирдХреНрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдПрдХреАрдХреГрдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЕрдм рдЙрдкрд▓рдмреНрдз рд╣реИ?

@ sxpati2 рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯреЗрдб рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди, рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рд╣реИред Linux рдХреЗ рд▓рд┐рдП рдпрд╣ Kerberos рдПрдХреАрдХреГрдд рдкреНрд░рдорд╛рдгрди рд╣реЛрдЧрд╛ред Tedious рд╡рд░реНрддрдорд╛рди рдореЗрдВ Windows рдпрд╛ Kerberos рдПрдХреАрдХреГрдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╣рдорд╛рд░реА рднрд╡рд┐рд╖реНрдп рдХреА рдпреЛрдЬрдирд╛ рдореЗрдВ рд╣реИред

рдореИрдВ рдмрд╕ рдЗрд╕ рдкрд░ рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдкреНрд░рдореБрдЦ рд░рд┐рдлреИрдХреНрдЯрд░ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдореИрдВ msnodesqlv8 рдХреЛ рдердХрд╛рдК рдореЗрдВ рд▓реВрдк рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ msnodesqlv8 рд╕рд┐рд░реНрдл рд╕реАрдХреНрд╡реЗрд▓ рдореЗрдВ рдЙрддрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реБрдЖред

@arthurschreiber рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреАрдЖрд░ # 497 рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯреЗрдб рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдХреЛ рдорд░реНрдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдпреВрдЬрд░рдиреЗрдо/рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рдВрдбреЛ рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдирд╡реАрдирддрдо рдердХрд╛рдК рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдмрд╕ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЙрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдХреНрдпрд╛ рд╣реБрдЖ?

рдХреНрдпрд╛ рддрдм рд╕реЗ рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЧрдИ рд╣реИ? рдпрд╛ рд╡рд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдореЗрдВ рдЦреЛ рдЧрдИ рд╣реИ?

рдХреНрдпрд╛ рддрдм рд╕реЗ рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЧрдИ рд╣реИ? рдпрд╛ рд╡рд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдореЗрдВ рдЦреЛ рдЧрдИ рд╣реИ?

рдореБрдЭреЗ рднреА рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛!

рдирдорд╕реНрддреЗ, рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╢рдмреНрдж рд╣реИ? рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

diginfo picture diginfo  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tvrprasad picture tvrprasad  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

arthurschreiber picture arthurschreiber  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

spacem picture spacem  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

anthonylau picture anthonylau  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ