diff --git a/ui-admin/src/js/components/database/DatabaseComponent.jsx b/ui-admin/src/js/components/database/DatabaseComponent.jsx
index 4acea05e169b3f10b987b9895aaa69065a1004fc..1e35cad3df85a93f8230e4a6fa9caaac4eafb749 100644
--- a/ui-admin/src/js/components/database/DatabaseComponent.jsx
+++ b/ui-admin/src/js/components/database/DatabaseComponent.jsx
@@ -77,14 +77,16 @@ class DatabaseComponent extends React.PureComponent {
     logger.log(logger.DEBUG, 'DatabaseComponent.render')
     const { object } = this.props
 
-    return (
-      this.state.showDataBrowser
-        ?
-          <DataBrowser id={object.id} viewType='list'/>
-        :
-          <Container>
-            <pre>{JSON.stringify(this.state.json || {}, null, 2)}</pre>
-          </Container>
+    return this.state.showDataBrowser ? (
+      <DataBrowser
+        id={object.id}
+        viewType='list'
+        sessionTokenProvider={() => AppController.getInstance().getSessionToken()}
+      />
+    ) : (
+      <Container>
+        <pre>{JSON.stringify(this.state.json || {}, null, 2)}</pre>
+      </Container>
     )
   }
 }
diff --git a/ui-admin/src/js/components/database/data-browser/DataBrowser.jsx b/ui-admin/src/js/components/database/data-browser/DataBrowser.jsx
index ca14a4cbc1fba2e296b3adb6ffd6d43f3a475ad2..bf055b9be5798dc3a11029d144ae3017002d7c26 100644
--- a/ui-admin/src/js/components/database/data-browser/DataBrowser.jsx
+++ b/ui-admin/src/js/components/database/data-browser/DataBrowser.jsx
@@ -91,26 +91,25 @@ class DataBrowser extends React.Component {
     super(props, context)
     autoBind(this)
 
-    this.controller = this.props.controller || new DataBrowserController()
+    const { sessionTokenProvider, controller } = this.props
+
+    this.controller = controller || new DataBrowserController()
     this.controller.attach(this)
     this.datastoreServer = new DataStoreServer(
       'http://localhost:8085',
       HTTP_SERVER_URI
     )
 
+    this.controller.useSessionToken(sessionTokenProvider)
+
     this.state = {
-      viewType: null,
+      viewType: props.viewType,
       files: [],
       selectedFile: null,
       multiselectedFiles: new Set([]),
       showInfo: false,
       path: '/'
     }
-
-    // Login for all subsequent requests
-    this.controller.login().then(() => {
-      this.setState({ viewType: props.viewType })
-    })
   }
   handleViewTypeChange(viewType) {
     this.setState({ viewType })
diff --git a/ui-admin/src/js/components/database/data-browser/DataBrowserController.js b/ui-admin/src/js/components/database/data-browser/DataBrowserController.js
index 79a005583b83f89775dcff88e12b779ebcfe517b..46de92362d4ae578565dd0cc2f4510ae04e3c1da 100644
--- a/ui-admin/src/js/components/database/data-browser/DataBrowserController.js
+++ b/ui-admin/src/js/components/database/data-browser/DataBrowserController.js
@@ -41,6 +41,10 @@ export default class DataBrowserController extends ComponentController {
     })
   }
 
+  useSessionToken(sessionTokenProvider) {
+    this.component.datastoreServer.useSession(sessionTokenProvider())
+  }
+
   async listFiles() {
     return new Promise((resolve, reject) => {
       this.component.datastoreServer.list(this.owner, this.path, true, (data) => {