Browse Source

fix: hasLogin redirect to login page

pull/3842/head
xiaohuoni 7 years ago
committed by 偏右
parent
commit
c7e4983a06
  1. 13
      src/pages/Authorized.js

13
src/pages/Authorized.js

@ -3,9 +3,12 @@ import Redirect from 'umi/redirect';
import pathToRegexp from 'path-to-regexp';
import { connect } from 'dva';
import Authorized from '@/utils/Authorized';
import { getAuthority } from '@/utils/authority';
import Exception403 from '@/pages/Exception/403';
function AuthComponent({ children, location, routerData, status }) {
const isLogin = status === 'ok';
function AuthComponent({ children, location, routerData }) {
const auth = getAuthority();
const isLogin = auth && auth[0] !== 'guest';
const getRouteAuthority = (path, routeData) => {
let authorities;
routeData.forEach(route => {
@ -21,17 +24,15 @@ function AuthComponent({ children, location, routerData, status }) {
});
return authorities;
};
return (
<Authorized
authority={getRouteAuthority(location.pathname, routerData)}
noMatch={isLogin ? <Redirect to="/exception/403" /> : <Redirect to="/user/login" />}
noMatch={isLogin ? <Exception403 /> : <Redirect to="/user/login" />}
>
{children}
</Authorized>
);
}
export default connect(({ menu: menuModel, login: loginModel }) => ({
export default connect(({ menu: menuModel }) => ({
routerData: menuModel.routerData,
status: loginModel.status,
}))(AuthComponent);

Loading…
Cancel
Save