alego 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/alego.rb +23 -54
  2. data/lib/alego/version.rb +1 -1
  3. metadata +2 -2
@@ -1,3 +1,5 @@
1
+ #encoding: utf-8
2
+
1
3
  require "alego/version"
2
4
  require 'net/https'
3
5
  require 'uri'
@@ -5,12 +7,8 @@ require 'rexml/document'
5
7
 
6
8
  module Alego
7
9
 
8
- def denied
9
- end
10
-
11
10
  def pre_dispatch
12
- valida_login
13
- valida_tela
11
+ valida_tela if valida_login
14
12
  end
15
13
 
16
14
  def set_usuario_corrente(usuario)
@@ -18,60 +16,35 @@ module Alego
18
16
  session[:usuario_id] = usuario.id
19
17
  end
20
18
 
21
-
22
- def logout
23
- session[:usuario_id] = nil
24
- session[:usuario_corrente] = nil
25
- reset_session
19
+ def set_controller_action(dados)
20
+ @@controller = dados[:controller]
21
+ @@action = dados[:action]
26
22
  end
27
23
 
28
24
 
29
25
  def valida_login
30
- begin
31
- if session[:usuario_corrente]
32
- return true
33
- else
34
- flash[:erro] = "Falha no login"
35
- logout
36
- denied
37
- return
38
- end
39
- rescue
40
- flash[:erro] = "Falha no login"
41
- logout
42
- denied
43
- return
26
+ unless session[:usuario_corrente]
27
+ flash[:error] = "Falha no Login, COD: 001"
28
+ redirect_to :controller => @@controller, :action => @@action
29
+ return false
44
30
  end
31
+ return true
45
32
  end
46
33
 
47
34
 
48
- protected
49
35
  def valida_tela
50
- begin
51
- nome = controller_name
52
-
53
- if session[:usuario_corrente]
54
- usuario = session[:usuario_corrente]
55
- alego_auth_valido = usuario.recursos.split(";").include?(nome)
56
-
57
- unless alego_auth_valido
58
- denied
59
- return
60
- end
61
- else
62
- denied
63
- return
64
- end
65
- rescue
66
- denied
67
- return
36
+ alego_auth_valido = session[:usuario_corrente].recursos.split(";").include?(controller_name)
37
+ unless alego_auth_valido
38
+ flash[:error] = "Falha no Login, COD: 003"
39
+ redirect_to :controller => @@controller, :action => @@action
40
+ return false
68
41
  end
69
42
  end
70
43
 
71
44
 
72
- ####
45
+ ####
73
46
 
74
- def production(is_production = true, url = nil)
47
+ def production(is_production = true, url = nil)
75
48
  if (is_production)
76
49
  @@sgu_url = "https://172.16.0.36/sgu/"
77
50
  else
@@ -82,7 +55,6 @@ module Alego
82
55
  end
83
56
 
84
57
 
85
-
86
58
  def post(login, senha, sistema)
87
59
  resp = {}
88
60
  url = @@sgu_url + 'validar/' + login + '/' + senha + '/' + sistema +'.xml'
@@ -93,14 +65,14 @@ module Alego
93
65
  http.use_ssl = true
94
66
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
95
67
  request = Net::HTTP::Get.new(uri.request_uri)
96
- response = http.request(request)
68
+ response = http.request(request)
97
69
  rescue
98
70
 
99
71
  resp[:erro] = "Error: host connection fail"
100
72
  end
101
73
 
102
74
  if response != nil and response.code == "200"
103
- xml_data = response.body
75
+ xml_data = response.body
104
76
  doc = REXML::Document.new(xml_data)
105
77
  doc.elements.each('hash') do |ele|
106
78
  begin
@@ -122,7 +94,6 @@ module Alego
122
94
  permissao[:niveis] = Array.new
123
95
 
124
96
 
125
-
126
97
  et.elements.each('funcionalidades') do |funcionalidade|
127
98
  funcionalidade.elements.each('funcionalidade') do |func|
128
99
  permissao[:niveis] << func.elements['acao'].text
@@ -136,9 +107,9 @@ module Alego
136
107
  ele.elements.each('lotacoes') do |e|
137
108
  e.elements.each('lotacao') do |el|
138
109
  resp[:lotacoes] << {
139
- :nome => el.elements['nome'].text,
140
- :id => el.elements['id'].text.to_i
141
- }
110
+ :nome => el.elements['nome'].text,
111
+ :id => el.elements['id'].text.to_i
112
+ }
142
113
  end
143
114
  end
144
115
 
@@ -151,6 +122,4 @@ module Alego
151
122
 
152
123
  resp
153
124
  end
154
-
155
-
156
125
  end
@@ -1,3 +1,3 @@
1
1
  module Alego
2
- VERSION = "0.5.0"
2
+ VERSION = "0.6.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alego
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-10 00:00:00.000000000 Z
12
+ date: 2013-01-15 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Alego SGU Auth...
15
15
  email: