WNomunomu 2 лет назад
Родитель
Сommit
f194012f51

+ 2 - 2
apps/app/src/components/LoginForm.tsx

@@ -38,7 +38,7 @@ type LoginFormProps = {
   externalAccountLoginError?: IExternalAccountLoginError,
 }
 export const LoginForm = (props: LoginFormProps): JSX.Element => {
-  const { data: isAdmin } = useIsAdmin();
+  // const { data: isAdmin } = useIsAdmin();
   const { t } = useTranslation();
 
   const router = useRouter();
@@ -107,7 +107,7 @@ export const LoginForm = (props: LoginFormProps): JSX.Element => {
 
     try {
       const res = await apiv3Post('/login', { loginForm });
-      const { redirectTo } = res.data;
+      const { redirectTo, isAdmin } = res.data;
 
       // redirectTo === '/admin' かつ、リクエストを投げたユーザーがadminでなければ、、っていう条件式
       if (!isAdmin && redirectTo === '/admin') {

+ 3 - 1
apps/app/src/server/routes/login-passport.js

@@ -118,6 +118,8 @@ module.exports = function(crowi, app) {
       },
     };
 
+    const isAdmin = req.user.admin;
+
     await crowi.activityService.createActivity(parameters);
 
     const redirectToForUnauthenticated = createRedirectToForUnauthenticated(req.user.status);
@@ -127,7 +129,7 @@ module.exports = function(crowi, app) {
       return res.redirect(redirectTo);
     }
 
-    return res.apiv3({ redirectTo });
+    return res.apiv3({ redirectTo, isAdmin });
   };
 
   const injectRedirectTo = (req, res, next) => {