idsasllogin.pas

来自「网络控件适用于Delphi6」· PAS 代码 · 共 76 行

PAS
76
字号
{ $HDR$}
{**********************************************************************}
{ Unit archived using Team Coherence                                   }
{ Team Coherence is Copyright 2002 by Quality Software Components      }
{                                                                      }
{ For further information / comments, visit our WEB site at            }
{ http://www.TeamCoherence.com                                         }
{**********************************************************************}
{}
{ $Log:  11739: IdSASLLogin.pas 
{
{   Rev 1.2    1/25/2004 2:17:52 PM  JPMugaas
{ Should work better.  Removed one GPF in S/Key.
}
{
{   Rev 1.1    1/21/2004 4:03:16 PM  JPMugaas
{ InitComponent
}
{
{   Rev 1.0    11/13/2002 08:00:30 AM  JPMugaas
}
{
  Basic LOGIN mechanism like SMTP uses it. This is not really specified in
  a RFC - at least I couldn't find one.
  This is of type TIdSASLUserPass because it needs a username/password
}
unit IdSASLLogin;

interface
uses
  Classes, IdSASL,
  IdSASLUserPass;

type
  TIdSASLLogin = class(TIdSASLUserPass)
  protected
    procedure InitComponent; override;
  public
    class function ServiceName: TIdSASLServiceName; override;

    function StartAuthenticate(const AChallenge:string) : String; override;
    function ContinueAuthenticate(const ALastResponse: String): String;
      override;
  end;

implementation

uses IdUserPassProvider, IdBaseComponent;

{ TIdSASLLogin }

function TIdSASLLogin.ContinueAuthenticate(
  const ALastResponse: String): String;
begin
  Result := GetPassword;
end;

procedure TIdSASLLogin.InitComponent;
begin
  inherited InitComponent;
  FSecurityLevel := 200;
end;

class function TIdSASLLogin.ServiceName: TIdSASLServiceName;
begin
  Result := 'LOGIN'; {Do not translate}
end;

function TIdSASLLogin.StartAuthenticate(
  const AChallenge: string): String;
begin
  Result := GetUsername;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?