php - 如何通过用户身份验证保护 slim 3 应用程序
问题描述
我对苗条很陌生,但我想试一试。我创建了一个应用程序,它使用 twig 作为视图渲染。
在访问管理之前,用户应该对数据库进行身份验证(通过登录表单)。我创建了一个登录表单,但现在我被卡住了。
我找到了一些库和中间件,帮助进行基本的 HTTP 身份验证,但这并不是我想要的。在用我的数据库检查用户信息后,我可以简单地存储一个会话变量,但这真的安全吗?有些人使用身份验证库,例如 Zend/Authentification 或 Session。此外,还有基于整个令牌的身份验证,但我不知道在不创建 REST 应用程序时是否应该使用它。
我只是想了解,slim3 应用程序中的“安全”是什么意思,以及如何处理用户登录的所有方面,以创建安全的后端体验。我应该使用任何库来构建中间件吗?
感谢您的澄清/帮助。
解决方案
我在 Slim 中构建应用程序已经 1 年多了,一开始我也遇到了同样的问题,我给你的建议是,因为 slim 是一个简单的框架,它没有任何默认值,所以你您需要构建应用程序的安全性;
我首先尝试了一些身份验证库,但开始构建我的库。
基本上我用的
首先,我使用 Basiauth 和 CSRF
然后我着手构建 OAuth 2 身份验证,确保对资源的令牌访问和访问规则。
为此,我使用了一个非常强大的库https://oauth2.thephpleague.com/
推荐阅读
- soapui - 需要在 SoapUI 中的属性转移中的转移值中执行一些字符串操作吗?
- python - 在循环中更改对
- haskell - 报告所有错误的类序列函数
- javascript - PUT 方法不适用于使用 prisma 的 express
- github - 无法使用启用了两因素身份验证的 SVN 提交到 github
- javascript - Doe “使用严格”;需要包含在所有 JS 文件中。如果我有多个 javascript
- r - ggplot中的字体更改不适用于双标标签名称
- javascript - 我需要帮助找出正确的 CSP 标头
- java - 运行使用 maven-shade 创建的 TestNG jar 文件时无法找到或加载主类
- python - Influx 中的身份验证允许所有用户名