feat(security): disable access for anonymous users, when disablePublicMemos is true (#1966)

This commit is contained in:
Alexandr Tumaykin 2023-07-17 04:12:53 +03:00 committed by GitHub
parent 4ac63ba1f0
commit e36e5823cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 53 additions and 29 deletions

View File

@ -95,6 +95,8 @@ const Header = () => {
</NavLink>
</>
)}
{!isVisitorMode && (
<>
<NavLink
to="/explore"
id="header-explore"
@ -109,6 +111,8 @@ const Header = () => {
<Icon.Hash className="mr-3 w-6 h-auto opacity-70" /> {t("common.explore")}
</>
</NavLink>
</>
)}
{!isVisitorMode && (
<>

View File

@ -64,10 +64,14 @@ const router = createBrowserRouter([
}
const { host, user } = store.getState().user;
const { systemStatus } = store.getState().global;
if (isNullorUndefined(host)) {
return redirect("/auth");
} else if (isNullorUndefined(user)) {
} else if (isNullorUndefined(user) && !systemStatus.disablePublicMemos) {
return redirect("/explore");
} else if (isNullorUndefined(user) && systemStatus.disablePublicMemos) {
return redirect("/auth");
}
return null;
},
@ -84,8 +88,10 @@ const router = createBrowserRouter([
// do nth
}
const { host } = store.getState().user;
if (isNullorUndefined(host)) {
const { host, user } = store.getState().user;
const { systemStatus } = store.getState().global;
if (isNullorUndefined(host) || (isNullorUndefined(user) && systemStatus.disablePublicMemos)) {
return redirect("/auth");
}
return null;
@ -103,8 +109,10 @@ const router = createBrowserRouter([
// do nth
}
const { host } = store.getState().user;
if (isNullorUndefined(host)) {
const { host, user } = store.getState().user;
const { systemStatus } = store.getState().global;
if (isNullorUndefined(host) || (isNullorUndefined(user) && systemStatus.disablePublicMemos)) {
return redirect("/auth");
}
return null;
@ -122,8 +130,10 @@ const router = createBrowserRouter([
// do nth
}
const { host } = store.getState().user;
if (isNullorUndefined(host)) {
const { host, user } = store.getState().user;
const { systemStatus } = store.getState().global;
if (isNullorUndefined(host) || (isNullorUndefined(user) && systemStatus.disablePublicMemos)) {
return redirect("/auth");
}
return null;
@ -141,8 +151,10 @@ const router = createBrowserRouter([
// do nth
}
const { host } = store.getState().user;
if (isNullorUndefined(host)) {
const { host, user } = store.getState().user;
const { systemStatus } = store.getState().global;
if (isNullorUndefined(host) || (isNullorUndefined(user) && systemStatus.disablePublicMemos)) {
return redirect("/auth");
}
return null;
@ -160,8 +172,10 @@ const router = createBrowserRouter([
// do nth
}
const { host } = store.getState().user;
if (isNullorUndefined(host)) {
const { host, user } = store.getState().user;
const { systemStatus } = store.getState().global;
if (isNullorUndefined(host) || (isNullorUndefined(user) && systemStatus.disablePublicMemos)) {
return redirect("/auth");
}
return null;
@ -180,8 +194,10 @@ const router = createBrowserRouter([
// do nth
}
const { host } = store.getState().user;
if (isNullorUndefined(host)) {
const { host, user } = store.getState().user;
const { systemStatus } = store.getState().global;
if (isNullorUndefined(host) || (isNullorUndefined(user) && systemStatus.disablePublicMemos)) {
return redirect("/auth");
}
return null;
@ -199,8 +215,10 @@ const router = createBrowserRouter([
// do nth
}
const { host } = store.getState().user;
if (isNullorUndefined(host)) {
const { host, user } = store.getState().user;
const { systemStatus } = store.getState().global;
if (isNullorUndefined(host) || (isNullorUndefined(user) && systemStatus.disablePublicMemos)) {
return redirect("/auth");
}
return null;
@ -220,8 +238,10 @@ const router = createBrowserRouter([
// do nth
}
const { host } = store.getState().user;
if (isNullorUndefined(host)) {
const { host, user } = store.getState().user;
const { systemStatus } = store.getState().global;
if (isNullorUndefined(host) || (isNullorUndefined(user) && systemStatus.disablePublicMemos)) {
return redirect("/auth");
}
return null;