Rails3入门之十 安全

来源:互联网 发布:最优分解问题贪心算法 编辑:程序博客网 时间:2024/06/15 09:26

如果你发布你的blog。那么其他人就可以随便修改和添加博客了。


Rails提供了一个非常简单的http认证系统,可以非常有帮助的解决这种情况。

PostsController里面我们需要一个方法阻止那些没有授权的用户的操作。

这时候我们可以使用http_basic_authenticate_with 方法。

这个方法通过的情况下才能处理http请求。


我们的例子里面需要除了index,show之外的方法都需要认证。

class PostsController < ApplicationController   http_basic_authenticate_with :name => "dhh", :password => "secret", :except => :index   # GET /posts  # GET /posts.json  def index    @posts = Post.all    respond_to do |format|# snipped for brevity

我们也需要删除评论的时候需要权限。

class CommentsController < ApplicationController   http_basic_authenticate_with :name => "dhh", :password => "secret", :only => :destroy   def create    @post = Post.find(params[:post_id])# snipped for brevity

现在我们如果创建一个新的post。将会显示下面的页面。