Take a look at: https://github.com/orientechnologies/orientdb/wiki/OrientDB-REST#authentication-and-security
Lvc@ On 2 April 2014 00:54, Luca Garulli <[email protected]> wrote: > The rule is that the first call MUST have Authorization header, and at > first call OrientDB returns the OSESSIONID. On further calls just pass this > header containing the OSESSIONID in the request and OrientDB will skip the > authentication. > > Lvc@ > > > > On 1 April 2014 21:27, Gaurav Dhiman <[email protected]> wrote: > >> While developing short testcase for this case, I noticed the issue comes >> only if I am doing simultaneous async calls to OrientDB without >> Authorization header in HTTP request. >> If I give Authorization header in each simultaneous aync call, it works >> fine. >> If I do not give Authorization header, only the first call succeed rest >> all return 401 error. >> >> Any reason for it ? I will soon share the test case. >> >> Regards, >> Gaurav >> >> >> On Wednesday, March 19, 2014 10:33:15 PM UTC+5:30, Gaurav Dhiman wrote: >> >>> Luca, sure I will provide you the running test case soon. >>> >>> Regards, >>> Gaurav >>> >>> >>> >>> On Wed, Mar 19, 2014 at 8:21 PM, Luca Garulli wrote: >>> >>>> Hi Gaurav, >>>> in order to have more chance to have a fast answer, can you provide >>>> something we can reproduce in short time? >>>> >>>> If you send us a Angular.js snippet I should: >>>> >>>> 1) download Angular.js >>>> 2) understand how it works >>>> 3) create a HTML page >>>> 4) copy your snippet on it >>>> 5) hacking to get it working >>>> >>>> Can you reproduce the problem for example using ab (by Apache) that is >>>> part of our distribution under "benchmarks" ? >>>> >>>> Lvc@ >>>> >>>> >>>> >>>> On 19 March 2014 15:32, Gaurav Dhiman wrote: >>>> >>>>> @Luca, >>>>> >>>>> Sorry for bothering you, but its imp for me. >>>>> Any update on this ? >>>>> >>>>> Regards, >>>>> Gaurav >>>>> >>>>> >>>>> On Wednesday, March 19, 2014 10:54:02 AM UTC+5:30, Gaurav Dhiman wrote: >>>>>> >>>>>> Luca, >>>>>> >>>>>> Were you able to re-produce the issue with the code that I shared ? >>>>>> I am hitting road block with OrientDB on every turn, lowering my >>>>>> confidence on it. >>>>>> >>>>>> Before Orient I was using Wakanda, the only issue with that was >>>>>> scaling out that turned me to explore other DB like Arango and Orient. >>>>>> Making Orient work is not as easy as with >>>>>> Wakanda<http://www.wakanda.org/>. >>>>>> It will be great if Orient can have its feature set along with ease of >>>>>> Wakanda. >>>>>> >>>>>> Regards, >>>>>> Gaurav >>>>>> >>>>>> >>>>>> On Tuesday, March 18, 2014 11:43:06 PM UTC+5:30, Gaurav Dhiman wrote: >>>>>>> >>>>>>> @Lvc, Below is the client code (AngularJS) used. >>>>>>> >>>>>>> ============== >>>>>>> $scope.getInitialData = function() { >>>>>>> if (window.appInitialized) { >>>>>>> return; >>>>>>> } >>>>>>> window.appInitialized = true; >>>>>>> // Get all businesses of logged-in user >>>>>>> url = $scope.getAbsoluteBackendURL('function/fsdb/ >>>>>>> getbusinessesofmerchant'); >>>>>>> $http.get(url) >>>>>>> .success(function(data, status) { >>>>>>> if ((status == "200") && (data.result.length) && >>>>>>> (data.result.length > 0)) { >>>>>>> data.result = cleanJSON(data.result); >>>>>>> $scope.businesses = data.result; >>>>>>> } else { >>>>>>> $scope.businesses = []; >>>>>>> } >>>>>>> }) >>>>>>> .error($scope.ajaxErrorHandler); >>>>>>> // Get all products of logged-in user >>>>>>> url = $scope.getAbsoluteBackendURL('function/fsdb/ >>>>>>> getproductsofmerchant'); >>>>>>> $http.get(url) >>>>>>> .success(function(data, status) { >>>>>>> if ((status == "200") && (data.result.length) && >>>>>>> (data.result.length > 0)) { >>>>>>> data.result = cleanJSON(data.result); >>>>>>> $scope.products = data.result; >>>>>>> } else { >>>>>>> $scope.products = []; >>>>>>> } >>>>>>> }) >>>>>>> .error($scope.ajaxErrorHandler); >>>>>>> // Get all base products in DB, across all vendors. >>>>>>> url = $scope.getAbsoluteBackendURL('function/fsdb/ >>>>>>> getallbaseproducts'); >>>>>>> $http.get(url) >>>>>>> .success(function(data, status) { >>>>>>> if ((status == "200") && (data.result.length) && >>>>>>> (data.result.length > 0)) { >>>>>>> data.result = cleanJSON(data.result); >>>>>>> $scope.baseProducts = data.result; >>>>>>> } else { >>>>>>> $scope.baseProducts = []; >>>>>>> } >>>>>>> }) >>>>>>> .error($scope.ajaxErrorHandler); >>>>>>> // Get all master countries >>>>>>> url = $scope.getAbsoluteBackendURL(' >>>>>>> function/fsdb/getallcountries'); >>>>>>> $http.get(url) >>>>>>> .success(function(data, status) { >>>>>>> if ((status == "200") && (data.result.length) && >>>>>>> (data.result.length > 0)) { >>>>>>> data.result = cleanJSON(data.result); >>>>>>> $scope.masterCountries = data.result; >>>>>>> alert("No. of Countries - "+data.result.length); >>>>>>> } else { >>>>>>> $scope.masterCountries = []; >>>>>>> } >>>>>>> }) >>>>>>> .error($scope.ajaxErrorHandler); >>>>>>> }; >>>>>>> ============== >>>>>>> >>>>>>> >>>>>>> On server end, the called functions are simple function that return >>>>>>> records based on some select query. Below is one example: >>>>>>> >>>>>>> ========================= >>>>>>> // Returns business listing of currently logged-in merchant >>>>>>> user = request.getUser(); >>>>>>> if (user) { >>>>>>> var businesses = db.query("SELECT FROM business WHERE user.name = >>>>>>> ?", user); >>>>>>> return businesses; >>>>>>> } >>>>>>> return []; >>>>>>> ========================= >>>>>>> >>>>>>> I hope it will help you to reproduce the issue. >>>>>>> >>>>>>> Regards, >>>>>>> Gaurav >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Tuesday, March 18, 2014 8:12:34 PM UTC+5:30, Lvc@ wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>> Server side functions are multi-thread. How can I reproduce this >>>>>>>> behavior? >>>>>>>> >>>>>>>> Lvc@ >>>>>>>> >>>>>>>> >>>>>>>> On 18 March 2014 15:27, Gaurav Dhiman <[email protected]> wrote: >>>>>>>> >>>>>>>>> During initializing my app , I do some simultaneous async >>>>>>>>> HTTP/REST access to OrientDB. >>>>>>>>> It leads to below behavior. >>>>>>>>> >>>>>>>>> First HTTP/REST call succeed, all others return with 401 HTTP >>>>>>>>> error. Later if I do the same calls through browser, they all succeed. >>>>>>>>> >>>>>>>>> Why can not we access OrientDB multiple times at same time ? I am >>>>>>>>> using server defined function to access OrientDB over HTTP/REST. >>>>>>>>> >>>>>>>>> Attached is the screenshot of chrome debugger. >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Gaurav >>>>>>>>> >>>>>>>>> -- >>>>>>>>> >>>>>>>>> --- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "OrientDB" group. >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to [email protected]. >>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>> >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "OrientDB" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>>> >>>> --- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "OrientDB" group. >>>> To unsubscribe from this topic, visit https://groups.google.com/d/ >>>> topic/orient-database/NRYFZtqwNXM/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >> >> --- >> You received this message because you are subscribed to the Google Groups >> "OrientDB" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
