redirect to new login route (#25099)

* redirect to new login route

* encode anchor in url and restore it client-side
This commit is contained in:
Christoph Wurst 2016-06-21 16:14:51 +02:00 committed by Thomas Müller
parent 195fc5b048
commit 7f22aeb5d6
2 changed files with 17 additions and 5 deletions

View File

@ -962,11 +962,12 @@ class OC_Util {
public static function checkLoggedIn() {
// Check if we are a user
if (!OC_User::isLoggedIn()) {
header('Location: ' . \OCP\Util::linkToAbsolute('', 'index.php',
[
'redirect_url' => \OC::$server->getRequest()->getRequestUri()
]
)
header('Location: ' . \OC::$server->getURLGenerator()->linkToRoute(
'core.login.showLoginForm',
[
'redirect_url' => urlencode(\OC::$server->getRequest()->getRequestUri()),
]
)
);
exit();
}

View File

@ -368,6 +368,17 @@ $(document).ready(function () {
collection: collection
});
view.reload();
// 'redirect' to anchor sections
// anchors are lost on redirects (e.g. while solving the 2fa challenge) otherwise
// example: /settings/person?section=devices will result in /settings/person?#devices
if (!window.location.hash) {
var query = OC.parseQueryString(location.search);
if (query && query.section) {
OC.Util.History.replaceState({});
window.location.hash = query.section;
}
}
});
if (!OC.Encryption) {