9.1 Basic Authentication
基本认证
如果你想要在线发布你的blog,任何人都能够增加,编辑和删除articles,或者删除comments。
Rails提供了一个简易的HTTP验证系统,在这种情况下能足以胜任。
在ArticlesController里,我们需要用一个方式来阻止访问任意的actions,如果访问者没有被认证的,这儿我们可以用Rails http_basic_authenticate_with 方法,如果在那个方法允许的情况下, 来允许访问所需求的action。
为了使用这个认证系统,我们明确规定它位于ArticlesController的顶部,在这个例子中,我们需要用户对于每一个action都要被认证,除了index和show,因此我们来编辑这个文件 app/controllers/articles_controller.rb:
classArticlesController < ApplicationController
http_basic_authenticate_with name: "dhh", password: "secret", except: [:index, :show]
defindex @articles= Article.all end
# snipped for brevity |
我们同样地只允许认证的用户来删除comments,因此在CommentsController中来编辑文件 app/controllers/comments_controller.rb:
classCommentsController < ApplicationController
http_basic_authenticate_with name: "dhh", password: "secret", only: :destroy
defcreate @article= Article.find(params[:article_id]) ... end
# snipped for brevity |
现在你想要创建一个新的article,你将会受到一个基本HTTP认证的挑战
对于Rails应用程序,其他的认证方法也是可用的。在Rails中有两个比较流行的认证插件是 Devise rails engine 和 Authlogic gem, 以及还有一些其他的。
original text: http://guides.rubyonrails.org/getting_started.html#security
相关推荐
《Security On Rails》一书是针对Ruby on Rails开发者在构建应用时所面临的各种安全问题的全面指南。本书不仅深入探讨了常见的安全漏洞,还详细解释了如何利用Ruby on Rails框架来增强应用程序的安全性,使开发者...
《Pragmatic Security on Rails》是一本专注于Rails框架下的安全实践的书籍,其核心内容是指导开发者如何在Ruby on Rails环境中构建安全、可靠的Web应用程序。Rails的安全性是开发者必须重视的关键议题,因为任何...
11. **安全(Security)**:了解如何防止跨站脚本攻击(XSS)、跨站请求伪造(CSRF)和SQL注入等,使用Bcrypt或Devise库处理用户认证。 12. **部署(Deployment)**:学习如何将应用部署到Heroku、AWS或其他云服务提供...
9. **跨站请求伪造(CSRF)与SSL**:启用SSL后,CSRF防护令牌的安全性提高,因为攻击者无法通过监听网络流量获取这些令牌。 10. **性能与优化**:SSL连接会增加一定的延迟和CPU使用率。不过,现代浏览器和服务器都有...
Devise Security-一个Devise扩展,可添加现代Web应用程序所需的其他安全功能 守望者-通用机架身份验证框架 AuthLogic-基于ActiveRecord的Ruby认证库 OmniAuth-一个标准化Web应用程序多提供商身份验证的库 JWT -RFC ...
9. **Security**:Rails通过各种机制保障应用安全,如CSRF(跨站请求伪造)防护、参数过滤、XSS(跨站脚本攻击)预防等。 这个"mid.zip_Rails"项目,作为一个多数据库管理平台,可能会提供用户界面,让管理员能够...
支持的Rails版本本文档重点介绍Rails 4和5。不包括早期版本中存在并在Rails 4中修复的漏洞。目录生成的。清单注射注入攻击排名第一。 不要使用标准的Ruby插值( #{foo} )将用户输入的字符串插入ActiveRecord或原始...
- Staying updated with the latest Rails version is crucial for security and performance improvements. Developers can update Rails using gem commands or by following official documentation guidelines....
Rails安全审核列表 0.安全宝 用于Ruby on Rails应用程序的静态分析安全漏洞扫描程序 -机架中间件,用于阻止和限制 与安全性相关的标头全部包含在一个gem中 用于ruby编写的Web应用程序的静态分析安全扫描程序。 带...
9. **AJAX与JavaScript**:Rails与jQuery和CoffeeScript等JavaScript库有良好的集成,书中可能探讨如何创建异步请求和实现动态更新。 10. **部署(Deployment)**:书中可能会介绍如何将Rails应用部署到Heroku、...
Rails Security Checklist:社区驱动的Rails安全检查表
Rails安全清单 该清单仅限于Rails的安全预防措施,并且运行Rails应用程序的其他许多方面都需要保护(例如,最新的操作系统和其他软件),而这还没有涵盖。 咨询安全专家。 本文档的一个目标是将其转变为社区资源,...
9. **Asset Pipeline**:Rails的资源管理机制,用于合并和压缩CSS、JavaScript文件,优化前端性能。 10. **Gemfile与Bundler**:管理Rails应用依赖的工具,通过Gemfile声明项目所需的gem库。 11. **Action Cable**...
安装将此行添加到您的Gemfile中,然后执行bundle install : gem 'sudo_rails'用法从现在开始,您可以在控制器中使用sudo方法,可以保护整个控制器或仅执行某些操作: class SettingsController < ...
SSL(Secure Socket Layer)和支持它的TLS(Transport Layer Security)协议是网络安全传输的基础,用于加密通信并确保数据在互联网上传输时的隐私和完整性。 在Rails应用中启用SSL支持是非常重要的,特别是在处理...
密码箱for Ruby和Rails的文件加密支持Active Storage和CarrierWave默认情况下使用AES-GCM进行身份验证的加密使密钥旋转变得容易默认情况下,AES-GCM用于经过身份验证的加密使密钥的旋转变得容易。有关使用Rails安装...
- **Grails and Trails**:与Groovy和Ruby on Rails框架集成; - **Mule**:与企业集成平台Mule ESB集成; - **DWR**:与Direct Web Remoting集成; - **Appfuse**:与快速开发框架集成; - **AndroMDA**:与元数据...
ApplyingSecurity.................... 55 3.6 PunishingMiscreants.................. 56 3.7 RoadMap......................... 60 CONTENTS 8 4 TDD,RailsStyle 61 4.1 NowforaViewTest................... 61 ...
在rails支持下使用Ruby中的AWS Secrets Manager 安装 将此行添加到您的应用程序的Gemfile中: gem 'sekreto' 然后执行: $ bundle 或将其自己安装为: $ gem install sekreto 用法 组态 配置将在Rails环境中...