Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 简单Rails登录系统_Ruby On Rails - Fatal编程技术网

Ruby on rails 简单Rails登录系统

Ruby on rails 简单Rails登录系统,ruby-on-rails,Ruby On Rails,我有一个简单的rails应用程序,其中我有一个“用户”模型,其中每一行(用户)都有一个id、一个用户名和一个密码 我有一个“登录”页面的视图,我希望用户插入用户名和密码,我希望这些被转发到一个代码,该代码验证数据库中是否有任何匹配的组合。如果是这样,我希望为用户初始化会话 我还希望能够根据会话是否已设置来限制对某些页面的访问。(即:用户已登录) 现在,当我习惯PHP时,我通常会将表单的“操作”设置到某个PHP页面,在该页面中,我会向服务器请求这些值,然后将它们插入到数据库的查询中。如果返回的行数

我有一个简单的rails应用程序,其中我有一个“用户”模型,其中每一行(用户)都有一个id、一个用户名和一个密码

我有一个“登录”页面的视图,我希望用户插入用户名和密码,我希望这些被转发到一个代码,该代码验证数据库中是否有任何匹配的组合。如果是这样,我希望为用户初始化会话

我还希望能够根据会话是否已设置来限制对某些页面的访问。(即:用户已登录)

现在,当我习惯PHP时,我通常会将表单的“操作”设置到某个PHP页面,在该页面中,我会向服务器请求这些值,然后将它们插入到数据库的查询中。如果返回的行数大于0,则将对用户进行身份验证

rails中是否有类似的简单方法


谢谢:)

我不知道
PHP
的方法,但是我知道实现用户身份验证最简单的方法是使用gem,比如
designe


我还没有足够的声誉留下评论,但我完全同意Tetsu的回答

进一步说,Desive是实现用户身份验证的最佳RubyonRails方法。您不想创建自己的身份验证,而需要担心密码加密等问题。相信我,这是火车失事了。Desive不断更新,提供Rails必须提供的最安全的解决方案

在您的gem文件中:
gem'designe',“~>3.2.4”

在Desive上观看此RailsCast:

在完成所有设置之后,您可以根据用户是否登录(或重定向他或她)有条件地加载页面。下面是一个例子:

<% if user_signed_in? %>
  Signed in as <%= current_user.email %>. Not you?
  <%= link_to "Sign out", destroy_user_session_path, :method => :delete %>
<% else %>
  <%= link_to "Sign up", new_user_registration_path %> or <%= link_to "Sign in", new_user_session_path %>
<% end %>

以身份登录。不是你?
:删除%>
或