我正在尝试在侧边栏中创建链接列表。问题是,如果我使用
<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)
这是链接的样子:
我正在尝试在Laravel应用程序中执行基于角色的权限控制.我想检查一些用户可以执行哪些操作,但我无法弄清楚如何在我的模型中实现门和策略(权限描述在数据库中,并且是与存储资源的ID的表相关联的布尔值).
这是我使用的数据库模型:
我想知道laravel gate在我的情况下是否有用,我如何实现它,如果没有,如何制作一个基本的中间件来处理权限控制以保护路由(或控制器).
在表资源中,我有一个标识资源的uuid,别名是资源的名称,并且具有动作的点符号值或资源的上下文(例如'mysystem.users.create','mysystem.roles.delete ','mysystem.users.images.view').策略表有一个布尔"允许"字段,用于描述用户的权限.
提前致谢.
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) 我试图将 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) 我正在使用 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 …
我的应用程序上有索引功能,它显示了一个包含所有用户的表格:
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
视图的情况下获取角色和组列表?
laravel ×3
php ×3
javascript ×2
reactjs ×2
docker ×1
nginx ×1
react-router ×1
supervisord ×1
typescript ×1