ODATA login not work after update to 10.0.0.1541

Hello,

After I updated DataAbstract for Delphi to 10.0.0.1541 version,
service used for TDAODataSchemaDispatcher.HttpAuthLoginServiceName
is checked for IDataAbstractLocalServiceAccess,
but TSimpleLoginService is no more implement this interface.

Is this necesary or is an issue?

Best regards,
Tiberiu Stoicescu

Hi,

this breaking change was added in .1491.
read more at

in brief:
We have removed security hole - in some cases intruder could execute usual the DataService request via LoginService.
LoginService doesn’t have the DataAbstractService ancestor anymore.

however you can use the IDAConnection methods like NewDataset for getting info from DB. also you can use LDA referenced to usual DataService

Ok. I agree with this.
I don’t need LoginService to have the DataAbstractService ancestor.

But in
TDAODataSchemaDispatcher.DoAuthenticate, line 1084,
LoginService is Aquired as IDataAbstractLocalServiceAccess and
is raised an Exception.

Why I must implement IDataAbstractLocalServiceAccess for MyLoginService?

Hi,

you are right.
it should use LocalServiceAccess_Acquire instead of LocalServiceAccessHelper_Acquire

Logged as bugs://D19267.

Hi,

update uDAODataDispatcher.pas as

function TDAODataSchemaDispatcher.DoAuthenticate(const aRec: PDAOSDExchange): Boolean;
..
  lService: IROService;
...
          lService := LocalServiceAccess_Acquire(aRec^.lAuthID, fHttpAuthLoginServiceName);
..
            LocalServiceAccess_Release(aRec^.lAuthID, fHttpAuthLoginServiceName, lService);

note: all above lines are a bit changed

bugs://D19267 was closed as fixed.