Updated registrar pki login

This commit is contained in:
Priit Tark 2015-05-08 14:25:42 +03:00
parent 12eaea6bd8
commit 08cb700069
3 changed files with 15 additions and 12 deletions

View file

@ -6,26 +6,28 @@ class Registrar::SessionsController < ::SessionsController
end end
def login def login
@user = Depp::User.new @depp_user = Depp::User.new
end end
def create def create
@user = Depp::User.new(params[:depp_user].merge( @depp_user = Depp::User.new(params[:depp_user].merge(
pki: request.env['HTTP_SSL_CLIENT_S_DN_CN'].present? pki: request.env['HTTP_SSL_CLIENT_S_DN_CN'].present?
) )
) )
if @user.pki && request.env['HTTP_SSL_CLIENT_S_DN_CN'] != params[:depp_user][:tag] if @depp_user.pki && request.env['HTTP_SSL_CLIENT_S_DN_CN'] != params[:depp_user][:tag]
@user.errors.add(:base, :invalid_cert) @depp_user.errors.add(:base, :invalid_cert)
end end
if @user.errors.none? && @user.valid? if @depp_user.errors.none? && @depp_user.valid?
session[:tag] = params[:depp_user][:tag] @api_user = ApiUser.find_by(username: params[:depp_user][:tag])
session[:password] = params[:depp_user][:password] if @api_user.active?
session[:last_seen] = Time.now.to_i sign_in @api_user
session[:pki] = @user.pki redirect_to registrar_root_url
else
redirect_to '/registrar' @depp_user.errors.add(:base, :not_active)
render 'login'
end
else else
render 'login' render 'login'
end end

View file

@ -2,7 +2,7 @@
.form-signin.col-md-6.center-block.text-center .form-signin.col-md-6.center-block.text-center
%h2.form-signin-heading.text-center= t(:log_in) %h2.form-signin-heading.text-center= t(:log_in)
%hr %hr
= form_for @user, url: registrar_sessions_path, html: {class: 'form-signin'} do |f| = form_for @depp_user, url: registrar_sessions_path, html: {class: 'form-signin'} do |f|
= render 'registrar/shared/errors', object: f.object = render 'registrar/shared/errors', object: f.object
- error_class = f.object.errors.any? ? 'has-error' : '' - error_class = f.object.errors.any? ? 'has-error' : ''

View file

@ -528,6 +528,7 @@ en:
failed_to_open_connection_to_epp_server: 'Failed to open connection to EPP server!' failed_to_open_connection_to_epp_server: 'Failed to open connection to EPP server!'
authorization_error: 'Authorization error' authorization_error: 'Authorization error'
invalid_cert: 'Invalid certificate' invalid_cert: 'Invalid certificate'
not_active: 'User is not active'
tag: tag:
blank: "Username can't be blank" blank: "Username can't be blank"
password: password: