Jef*_*key 13 ruby authorization rspec ruby-on-rails pundit
工具
**该项目**
项目回购在Github上; 这里正在审查的是pundit-1分支机构.
我遵循了Pundit教程并使用"传统"胖乎乎的控制器获得了授权; 看到
PostsController#new动作和它的规范 ;ApplicationPolicy类 ; 和PostDataPolicy邮件的Rails模型实例的管理授权.到目前为止一切顺利.然后我们来到SessionController,其中#new和#destroy行动分别管理登录和退出..
在当前的代码和规范工作得很好用传统的上下的控制器逻辑(见如何#new调用私有方法使用权威人士使用授权活动(当前)用户SessionDataPolicy.
然后我试着来封装内的逻辑ActiveInteraction DSO(见注释掉的代码中SessionsController#new),和所有的地狱破散.
更具体地说,此Gist中的SessionsController规范版本在规范调用方法时引发了一个版本.Pundit::AuthorizationNotPerformedError#new
威士忌酒.探戈.狐狸?!?!?
有没有人能够在没有 Pundit直接在控制器代码中生活的情况下使用类似的代码,理想情况下使用@ billychan的pull请求(更好的替代方案将非常感激)?
这让我完全陷入困境.
您可以在 DSO 级别创建 HeadLess 策略,例如
Struct.new(:user)
Run Code Online (Sandbox Code Playgroud)
然后验证用户的方法授权。
| 归档时间: |
|
| 查看次数: |
1482 次 |
| 最近记录: |