ODATA login not work after update to


After I updated DataAbstract for Delphi to 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


this breaking change was added in .1491.

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?


you are right.
it should use LocalServiceAccess_Acquire instead of LocalServiceAccessHelper_Acquire

Logged as bugs://D19267.


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.