用 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软件用的是这个数据库,总是卡,哪位朋友给指点一下,谢谢了。