我目前正在编写一个需要管理员登录的小型web应用程序。由于只有一个管理员,我不愿意为它编写一个功能完整的管理系统。但是,由于基本的HTTP登录使用未加密的用户名和密码,因此在安全级别显然不可接受。那么是否有安全使用HTTP登录或其他易于制作但安全的登录方法?Rails - 安全的HTTP登录?
回答
是的。有几种不同的选择。如果您正在寻找全功能的解决方案,请查看设计。
这是非常简单,将满足您的要求:
https://github.com/plataformatec/devise
每文档:
数据库可验证:加密并存储在数据库中的密码,以验证真伪用户在登录时进行身份验证。身份验证可以通过POST请求或HTTP基本身份验证完成。
Cancan是实现安全授权和ACL的gem。
如果您计划防止通过Internet传输明文密码,则需要使用HTTPS。
您可以使用devise来验证您的管理员。通过设计,您可以保护控制器级别的广告(控制器中的before_filter :authenticate_users
与您的管理页面相关)。设计将加密和盐你的密码,并将其存储在你的分贝。
为了提高安全性,您可以添加ssl,因此用户名和密码都不会以明文形式传输。
我认为你真正需要的是管理面板解决方案。
有两个好的
Rails的管理https://github.com/sferik/rails_admin
ActiveAdmin http://activeadmin.info
我在不同的项目中使用这两者,Rails的管理员更快的部署 - 开箱的(只需要运行的发电机)。 ActiveAdmin需要预先配置一些配置。
在线路上实现密码真实安全的最简单方法是使用HTTPS协议。
您可以通过此协议使用HTTP基本身份验证,并执行一些简单的操作,例如在应用程序中对用户/密码进行硬编码。我已经通过将用户/密码放入服务器上的ENV变量来做了很多次,所以它们不会被添加到源代码库中。然后,我使用Rails内置的http_basic * helpers来访问特定的控制器动作:
# Controller
class FooController < ApplicationController
http_basic_authenticate_with :name => Rails.application.config.foo_user,
:password => Rails.application.config.foo_password
def index
...
end
end
# Initializer - config/initializers/foo_auth.rb
Fooapp::Application.config.foo_user = ENV["FOO_USER"]
Fooapp::Application.config.foo_password = ENV["FOO_PASSWORD"]
我想,只要你需要,你使用像设计一个以上的用户建议,作为密码管理和存储成为一个问题很快
- 1. Spring 3.0安全http GET登录
- 2. php安全登录
- 3. 登录/ Cookie安全
- 4. 安全登录php
- 5. Wordpress登录安全
- 6. 安全登录的ZK
- 7. https登录的安全性?
- 8. 安全登录(Java Servlet的)
- 9. 安全的Facebook登录
- 10. PHP - 安全的MySQL登录
- 11. 安全登录或登录检查asp.net
- 12. 春季安全登录/注销登录
- 13. Symfony2:安全/安全登录和注销
- 14. AJAX登录安全漏洞
- 15. 进行安全登录
- 16. 安全web登录架构?
- 17. phpmyadmin安全登录无根
- 18. 安全PHP登录脚本
- 19. Facebook登录安全(Javascript SDK)
- 20. ASP.NET登录和安全
- 21. 在Phonegap内安全登录
- 22. html登录安全问题
- 23. 安全与Facebook API登录
- 24. 自动登录acegi安全
- 25. 用hello.js安全登录
- 26. 登录页面安全性?
- 27. 春季安全登录
- 28. 使用安全登录PHP
- 29. 刮网站,安全登录
- 30. Windows安全登录表单?