用 Laravel 制作的 ERP 网络软件

Posted

技术标签:

【中文标题】用 Laravel 制作的 ERP 网络软件【英文标题】:ERP web software made in Laravel 【发布时间】:2020-03-04 07:58:26 【问题描述】:

这是我的第一篇文章。我是这么大的作品的新手,所以我想知道我是否为我正在做的事情使用了正确的架构。

我正在使用 Laravel 框架开发一个用 php 和 react 制作的项目。这是一种 ERP。

有一个父公司和许多子公司 每个公司可以有不同的用户角色,每个角色可以做 某些操作 父公司的用户可以对孩子执行操作(基于角色) 公司也是如此 子公司的用户不能在 母公司 如果用户登录,他只能看到某些子菜单和表单(基于他的角色)

我的问题:

    安全登录的最佳方法是什么?我应该使用 Laravel 护照吗?它应该基于单个用户表,并且系统应该根据用户的角色提供响应

    对于我阅读的身份验证,使用 Laravel 策略可能很有用。但实际上我认为最好使用一个中间件来检查与 api 请求一起发送的用户令牌是否与用户相对应,另一个中间件来检查该特定用户是否有权调用该精确端点。在这种情况下我应该如何设置权限?为linux chmod系统之类的用户提供数据库表?使用 if 链检查角色?

    您认为这是一个好的架构还是不是满足我需要的最佳方式?你会建议我一个更好的方法吗?或文章以了解更多信息?

我希望我的问题不是愚蠢的,我希望你能帮助我。如果这不是问这个问题的正确地方,你能告诉我我应该在哪里发布这个吗?谢谢。

【问题讨论】:

Re: #2,已经有一个中间件用于检查策略。 laravel.com/docs/5.8/authorization#via-middleware 如果您需要更详细的内容,请参阅 github.com/spatie/laravel-permission 之类的内容。 【参考方案1】:

1) 如果您想要基本身份验证

Laravel 附带了几个pre-built authentication controllers,只需运行以下命令:

composer require laravel/ui --dev

php artisan ui vue --auth

它将生成一个基本的身份验证,包括登录、注册和重置密码路由。

下一步是为您的用户添加角色和权限。 你可以通过添加一个角色表和数据透视表链接到用户来做到这一点,但我建议拉一个像spatie/laravel-permission这样的包


2) 如果您想通过 API 进行身份验证

现在,如果您计划构建 API,并且由于您正在使用 React,我建议您安装 jwt-auth,它允许用户使用 JSON Web 令牌进行身份验证。

Laravel Passport 确实是一个很好的解决方案。它使用 JWT,在我看来可能更容易使用。如果您将来需要,它将允许您使用第三方身份验证。

您可以阅读更多关于 JWT 和 Laravel Passport 之间差异的信息:Laravel Passport vs JWT vs Oauth2 vs Auth0 以及如何build authentication into your Laravel API with JSON Web Tokens (JWT)

【讨论】:

以上是关于用 Laravel 制作的 ERP 网络软件的主要内容,如果未能解决你的问题,请参考以下文章

什么是软考中级?

软考内容都有哪些?

怎么提高SQL2008R2的运行速度,我们这ERP软件用的是这个数据库,总是卡,哪位朋友给指点一下,谢谢了。

请问用unity3d来制作MMO类型网络游戏,服务端该如何制作?听说用Photon网络引擎可以制作,有详细的教程吗?

ERP连接不上是啥原因?

网络软工个人作业4——Alpha阶段个人总结