Simple Login With Rails1.2.3
Setelah seharian googling, akhirnya aku dapat sedikit pencerahan mengenai sript login pake rails versi 1.2.3 meskipun masih tanpa enkripsi. Secara umum seperti berikut :
Pertama adalah Login Controller
class LoginController < ApplicationController
def index
enddef login
enddef cek_login
if request.post?
if @session["user"] = User.authenticate(params[:login][:name],params[:login][:password])
flash[:notice] = “Login Sukses!”
redirect_to :action => “index”
else
if params[:login][:name] == “”
flash[:notice] = “Username belum diisi.”
elsif params[:login][:password] == “”
flash[:notice] = “Password belum diisi”
else
flash[:notice] = “Username atau password salah”
end
redirect_to :action => “login”
end
end
endend
Berikutnya Login Model
class Login < ActiveRecord::Base
validates_uniqueness_of :name,
:message => “— Username Sudah Dipakai”
validates_presence_of :name,
:message => “— Masukkan Username”
validates_confirmation_of :password,
:message => “— Konfirmasi password tidak sama”
validates_presence_of :password,
:message => “— Masukkan Password”def self.authenticate(name, password)
find_first(
[ "name = '%s' AND password = '%s'", name, password ]
)
end
end
Dan yang terakhir adalah Login Form (app/views/login/login.rhtml)
<%= stylesheet_link_tag ‘scaffold’ %>
<p><font color=”red”><strong><%= flash[:notice] %></strong></font></p><%= error_messages_for :login %>
<br />
<strong>Login to your account or <%= link_to “Register”, :action => “adduser” %></strong>
<% form_for :login, :url => {:action => :cek_login} do |f| %>
<div id=”head”>
<table>
<tr>
<td>Username *</td>
<td>:</td>
<td><%= f.text_field :name %></td>
</tr>
<tr>
<td>Password *</td>
<td>:</td>
<td><%= f.password_field :password %></td>
</tr>
</table>
</div>
<br />
<%= submit_tag ‘Login’ %>
<% end %>
Related posts: