Ruby on rails 2个角色,管理员和用户。除了使用基本的http身份验证过度杀戮之外,是否还使用其他方法?

Ruby on rails 2个角色,管理员和用户。除了使用基本的http身份验证过度杀戮之外,是否还使用其他方法?,ruby-on-rails,authentication,admin,Ruby On Rails,Authentication,Admin,我正在用rails构建我的第一个网站,它由一个博客、几个静态页面和一个照片库组成。 admin部分具有命名空间控制器。 我还想创建一个邮件列表,收集联系信息, (也许将来还会有一家狂欢商店。) 我应该只使用基本http身份验证并检查用户是否是管理员吗? 或者像authlogic这样的插件更好,然后定义用户角色,即使只有两个;管理员和用户?您可以这样做。Authlogic或designe为你做的。事实上,这只是一个意见问题,你必须做适合你的事情 基本上,您只需要确定您的身份验证(用户登录等)需要什

我正在用rails构建我的第一个网站,它由一个博客、几个静态页面和一个照片库组成。 admin部分具有命名空间控制器。 我还想创建一个邮件列表,收集联系信息, (也许将来还会有一家狂欢商店。)

我应该只使用基本http身份验证并检查用户是否是管理员吗?
或者像authlogic这样的插件更好,然后定义用户角色,即使只有两个;管理员和用户?

您可以这样做。Authlogic或designe为你做的。

事实上,这只是一个意见问题,你必须做适合你的事情

基本上,您只需要确定您的身份验证(用户登录等)需要什么,以及您的授权(用户可以做什么)需要什么

我个人非常喜欢authlogic for authentication,Ryan来自railscasts cancan授权库:

但同样,这完全取决于你,如果你使用git,你可以将你的应用分支并尝试两者D


干杯

请记住,当您在线路上传输时,必须使用HTTPS对用户名/密码进行加密

可能不是问题,而是需要注意的事项。

使用。一旦与它们集成,它将允许来自谷歌、雅虎、微软、Facebook等的用户登录到您的网站

这个过程相当简单:

  • 在您的登录页面上粘贴他们的javascript代码
  • 编写一个控制器,RPXnow使用身份验证回调的令牌调用该控制器。此例程解析令牌,并对rpxnow.com进行安全的web调用,以获取有关用户的数据。抓取电子邮件地址,然后是真实的
  • 由于您现在拥有一个真实的电子邮件地址,用户可以被授予访问您网站内部部分的权限 如果您使用RPX进行身份验证,则不必编写“忘记密码”功能或带有电子邮件确认的“注册”功能。身份提供者会执行此操作

    Stackoverflow.com使用类似的方案进行身份验证


    (假设99%的互联网用户拥有谷歌、雅虎、Hotmail/Live或Facebook)

    回答您对dustmoo的评论:如果在应用程序中添加授权规则“使视图变得一团糟”,那么您使用授权的方式不正确。也就是说,是声明性的

    将允许您从应用程序中“分离”授权问题


    还有一个更容易设置,但功能较少(你失去了
    模型。有了
    的权限。)

    我也投票支持authlogic+cancan

    来自的教程非常简单,需要几个小时才能完成整个设置(即使是新手)

    如果您尝试构建自己的身份验证模型(我假设您没有很多经验),那么(重复)完成整个过程所花费的时间(一次又一次)很好地证明了向专业人士学习所花费的时间是合理的


    我的0.02版本使用cancan是否意味着我不必使用名称空间的管理部分?但是把视图弄得一团糟……好吧,如果你想显示管理员/仅管理员功能,它会给你的视图添加代码。实际上,通过不为仅管理员部分复制视图内容,系统遵循了干式约定。。但要回答您的问题,是的,使用cancan将允许您不具有仅限管理员的分区,并且是的,它将为您的视图添加代码。再次回到个人偏好,如果您的视图基本相同,但是添加了管理员的功能,那么效果很好。如果不是,那么为管理员创建一个完全不同的名称空间可能更好。干杯如果你想要的话,你不必使用https,但最好是这样。如果你真的想要,你也可以使用javascript。@incrediman我的意思是如果使用弹出浏览器特定用户名/密码模式对话框的基本类型的身份验证。情况就是这样,对吗?