小编Use*_*Cat的帖子

将 react-route 链接集成到 Material UI 列表中

我正在尝试在侧边栏中创建链接列表。问题是,如果我使用

<ListItem button component='a' href="/persons">
Run Code Online (Sandbox Code Playgroud)

页面会重新加载,而不是像Link组件那样转到 url 。

<Link to='/persons' >
Run Code Online (Sandbox Code Playgroud)

我想知道,如何用 react-router Link 行为替换 Material UI listItem href 行为?这是我试图修复的列表:

// this breaks the design
<Link to='/persons' >
    <ListItem button>
        <ListItemIcon>
            <Icon>people</Icon>
        </ListItemIcon>
        <ListItemText primary="Personas" />
    </ListItem>
</Link>

// this reloads the page, i want to avoid
<ListItem button component='a' href="/persons">
    <ListItemIcon>
        <Icon>bar_chart</Icon>
    </ListItemIcon>
    <ListItemText primary="Reports" />
</ListItem>
Run Code Online (Sandbox Code Playgroud)

这是链接的样子:

在此处输入图片说明

javascript reactjs react-router

12
推荐指数
2
解决办法
4291
查看次数

基于角色的Laravel许可

我正在尝试在Laravel应用程序中执行基于角色的权限控制.我想检查一些用户可以执行哪些操作,但我无法弄清楚如何在我的模型中实现门和策略(权限描述在数据库中,并且是与存储资源的ID的表相关联的布尔值).

这是我使用的数据库模型:

图

我想知道laravel gate在我的情况下是否有用,我如何实现它,如果没有,如何制作一个基本的中间件来处理权限控制以保护路由(或控制器).

在表资源中,我有一个标识资源的uuid,别名是资源的名称,并且具有动作的点符号值或资源的上下文(例如'mysystem.users.create','mysystem.roles.delete ','mysystem.users.images.view').策略表有一个布尔"允许"字段,用于描述用户的权限.

提前致谢.

php laravel

10
推荐指数
2
解决办法
7086
查看次数

Cannot read property 'forEach' of undefined in React

I have the next code that i want to use to validate private routing:

import React from 'react';

import { Route, Redirect } from 'react-router-dom';
import routes from '../../routing/routes';

export default function PrivateRoute({ component: Component, ...rest }) {
    // TODO: user verification
    let user = 1;

    const authComponentResolver = props => {
        const authorizedComponent = <Component {...props} />
        const redirectToAuthComponent = <Redirect to={{ pathname: routes.login.path, state: { from: props.location } }} />

        if (user !== undefined) {
            return authorizedComponent;
        } …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

8
推荐指数
1
解决办法
1416
查看次数

客户端在等待请求时关闭连接在 supervisord 中尝试在 Lumen 中使用 monolog 登录时

我试图将 php-fpm7 日志显示到通过 nginx 和 supervisord 运行的标准输出中。supervisord 标准输出显示以下消息:

web_1| 2019-11-22 21:52:30,742 DEBG 'nginx' stdout output:
web_1| 2019/11/22 21:52:30 [info] 10#10: *1 client closed connection while waiting for request, client: 10.11.12.13, server: 0.0.0.0:80
web_1| 2019-11-22 21:52:31,481 BLAT read event caused by <POutputDispatcher at 140523539721320 for <Subprocess at 140523539815888 with name nginx in state RUNNING> (stdout)>
web_1| 10.11.12.13 - - [22/Nov/2019:21:52:31 +0000] "GET /offers/all HTTP/1.1" 500 24984 "-" "PostmanRuntime/7.19.0"
Run Code Online (Sandbox Code Playgroud)

终端中什么也没有显示,但服务用数据回答了请求。

这是我的配置:

docker-compose-dev.yml

services:
  # web server
  web:
    build: .
    working_dir: /app
    network_mode: …
Run Code Online (Sandbox Code Playgroud)

php nginx supervisord laravel docker

6
推荐指数
0
解决办法
1016
查看次数

从 React Router 数据路由器操作调用钩子

我正在使用 React Router 6.4.3 和新的数据路由器。

第三方身份验证库通过挂钩公开身份验证上下文和登录函数,例如:

const { AuthenticationContext, login } = useAuthentication();
Run Code Online (Sandbox Code Playgroud)

我已经设法AuthenticationContext通过使用 中的无路径路由将路由包装到 中createBrowserRouter

但是,我无法理解如何利用路由操作来执行登录并随后重定向用户。由于配置和操作现在位于功能组件之外,因此我无法使用该useAuthentication钩子。

我的配置如下:

import { createBrowserRouter, RouterProvider } from 'react-router-dom';
import { AuthProvider } from 'auth';
import Login, { action as loginAction } from './routes/login';

const router = createBrowserRouter([
    {
        element: <AuthProvider />,
        children: [
            {
                path: '/login',
                element: <Login />,
                action: loginAction,
            },
        ],
    },
]);

function App() {
    return (
        <RouterProvider router={router} />
    );
}
Run Code Online (Sandbox Code Playgroud)

目前loginAction …

typescript react-router-dom

4
推荐指数
1
解决办法
1335
查看次数

array_pluck 模型结果 Laravel

我的应用程序上有索引功能,它显示了一个包含所有用户的表格:

public function index(Request $request)
{
    $this->authorize('inet.user.view');
    $users = User::with(['roles', 'groups'])->paginate(10);

    return view('security.users.index', compact('users'));
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试制作组和角色列表时,我有很多错误。这是表:

<table class="table table-responsive" id="users-table">
    <thead>
        <th>
            @lang('table.generic.name')
        </th>
        <th>
            @lang('table.users.role') & @lang('table.users.group')
        </th>
    </thead>
    <tbody>
        @foreach($users as $user)
        <tr>
            <td>
                {!! $user->fullname !!}
            </td>
            <td>
                {!! ---HERE NEED TO SHOW LIST OF ROLES--- !!}
            </td>
        </tr>
       @endforeach
   </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我试图加入implode(', ', theMethod)并获得名称,array_pluck($user, 'roles.name')但不起作用,$user->pluck('roles.name')也没有。

如何在不执行for视图的情况下获取角色和组列表?

php laravel

2
推荐指数
1
解决办法
2425
查看次数