casclient 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,11 +5,11 @@ require 'casclient/version'
5
5
 
6
6
  Gem::Specification.new do |gem|
7
7
  gem.name = "casclient"
8
- gem.version = Casclient::VERSION
8
+ gem.version = CasClient::VERSION
9
9
  gem.authors = ["maxim"]
10
10
  gem.email = ["mymailforxperia@gmail.com"]
11
11
  gem.description = "casclient"
12
- gem.summary = "casclient"
12
+ gem.summary = "cas!!!"
13
13
  gem.homepage = ""
14
14
 
15
15
  gem.files = `git ls-files`.split($/)
@@ -5,44 +5,43 @@ require 'net/https'
5
5
  require 'rexml/document'
6
6
  require 'active_support'
7
7
 
8
- module Casclient
8
+ module CasClient
9
9
  class Railtie < Rails::Railtie
10
10
  config.casclient = ActiveSupport::OrderedOptions.new
11
11
 
12
12
  initializer 'casclient.initialize' do |app|
13
- Casclient::Filter.setup(config.casclient)
13
+ CasClient::Filter.setup(config.casclient)
14
14
  end
15
15
  end
16
16
 
17
17
 
18
18
  class Filter
19
- attr_accessor :address,:login_url,:validate_url,:logout_url
20
- cattr_reader :config
19
+
20
+ cattr_reader :config,:client
21
+ attr_accessor :client
21
22
 
22
23
 
23
24
  class << self
24
25
  def setup(config)
25
- @@address=config[:address]
26
- @@login_url= @@address + "/login"
27
- @@validate_url = @@address + "/proxyValidate"
28
- @@logout_url =@@address + "/logout"
26
+ @@config = config
27
+ @@client=CasClient::CasClass.new(@@config)
29
28
  end
30
29
 
31
- def Filter(controller)
30
+ def filter(controller)
32
31
  st=controller.params[:ticket]
33
32
  if st
34
- request=request_cas_response(return_address(controller,"validate",st))
35
- if check_and_parse_xml(request).name=="authenticationSuccess"
36
- controller.session[:user]=username(request)
37
- controller.session[:previously_redirect_to_cas]=Time.now
38
- controller.session[:last_valid_ticket]=st
39
- else
40
- redirect_to_cas(controller)
41
- puts "!!!Invalid ticket!!!"
42
- end
33
+ request=request_cas_response(return_address(controller,"validate",st))
34
+ if check_and_parse_xml(request).name=="authenticationSuccess"
35
+ controller.session[:user]=username(request)
36
+ controller.session[:previously_redirect_to_cas]=Time.now
37
+ controller.session[:last_valid_ticket]=st
38
+ else
39
+ redirect_to_cas(controller)
40
+ puts "!!!Invalid ticket!!!"
41
+ end
43
42
  else
44
- redirect_to_cas(controller)
45
- puts "!!!Not ticket!!!"
43
+ redirect_to_cas(controller)
44
+ puts "!!!Not ticket!!!"
46
45
  end
47
46
  end
48
47
 
@@ -62,11 +61,11 @@ module Casclient
62
61
  def return_address(controller,action,st=nil)
63
62
  case action
64
63
  when "login"
65
- return @@login_url + "?service=" + service_url(controller)
64
+ return @@client.login_url + "?service=" + service_url(controller)
66
65
  when "logout"
67
- return @@logout_url + "?service=" + service_url(controller)
66
+ return @@client.logout_url + "?service=" + service_url(controller)
68
67
  when "validate"
69
- return @@validate_url + "?service=" + service_url(controller) + "&ticket=" + st
68
+ return @@client.validate_url + "?service=" + service_url(controller) + "&ticket=" + st
70
69
  else
71
70
  @@client.address
72
71
 
@@ -76,7 +75,7 @@ module Casclient
76
75
  def logout(controller,service)
77
76
  controller.send(:reset_session)
78
77
  controller.params.delete(:ticket)
79
- return @@logout_url + "?service=" + service
78
+ return @@client.logout_url + "?service=" + service
80
79
  end
81
80
 
82
81
 
@@ -104,4 +103,18 @@ module Casclient
104
103
 
105
104
  end
106
105
  end
106
+
107
+ class CasClass
108
+
109
+ attr_accessor :address,:login_url,:validate_url,:logout_url
110
+
111
+ def initialize(conf = nil)
112
+ @address=conf[:address]
113
+ @login_url= @address + "/login"
114
+ @validate_url = @address + "/proxyValidate"
115
+ @logout_url =@address + "/logout"
116
+ end
117
+
118
+
119
+ end
107
120
  end
@@ -1,3 +1,3 @@
1
- module Casclient
2
- VERSION = "0.0.1"
1
+ module CasClient
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: casclient
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -199,5 +199,5 @@ rubyforge_project:
199
199
  rubygems_version: 1.8.24
200
200
  signing_key:
201
201
  specification_version: 3
202
- summary: casclient
202
+ summary: cas!!!
203
203
  test_files: []