【发布时间】:2014-06-20 05:54:24
【问题描述】:
我有一个用 Rails 重写的 PHP 应用程序。我唯一没有实现的是身份验证。我是唯一的有效用户,所以我只是将表单 POST 输入与硬编码的哈希值进行了比较。 (因此,带有注册等功能的 gem 是矫枉过正的)
我拥有的最接近的等价物是application_controller.rb 文件中的http_basic_authenticate_with 命令。不过我更喜欢在网站上有密码字段,也不必输入用户名。
这是 PHP 外观的粗略伪代码。这个到 Ruby on Rails 的最佳翻译是什么?
<?php
session_start();
if (! empty($_GET['logout']))
{
session_destroy();
header('Location: ?');
die;
}
else if (! empty($_SESSION['logged_in']))
{
// application code
?>
<a href="?logout=true">Log out</a>
<?php
}
else if (! empty($_POST['password']) && sha1($_POST['password']) === 'abc')
{
$_SESSION['logged_in'] = true;
}
else
{
?>
<form method="POST">
<input type="password" name="password">
<input type="submit" value="Log in">
</form>
<?php
}
【问题讨论】:
标签: ruby-on-rails ruby authentication ruby-on-rails-4