2011-10-02 91 views
0

我想创建密码保护模型。例如在博客上张贴。我想将这个密码存储在数据库中。如果用户想看到受密码保护的帖子,他需要写这个密码。如果数据库中没有密码,每个人都可以看到这篇文章,每篇文章都可以拥有自己的通行证。我如何在RoR中创建这样的内容?我RoR - 密码保护模型

我只找到基本的HTTP认证:

before_filter :authenticate 

#protected 

def authenticate 
    authenticate_or_request_with_http_basic do |username, password| 
    username == "foo" && password == "bar" 
    end 
end 

,但有可能是更好的解决这个?你有什么想法?

回答

2

是这样的吗?

def show 
    @post = Post.find(...) 

    if params[:post][:password].nil? 
    # Show a form with a password asked 
    elsif params[:post][:password] == @post.password 
    # Show post 
    else 
    flash[:error] = "Bad password" 
    # Render password form 
    end 
end 
+0

请记住,您应该始终(!)加密存储在数据库中的任何密码。最好用bcrypt。 –

+0

当然:)我只是给一个简单的骨架。 – Cydonia7