bcms_cas 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.markdown
CHANGED
@@ -7,6 +7,8 @@ as an example of a server.
|
|
7
7
|
This module will allow user to login to the public area of the CMS, using the Login Form Portlet. It does not handle users that need to
|
8
8
|
log into the CMS administrative area. It also handles single logout by redirecting the user to cas /logout service.
|
9
9
|
|
10
|
+
As of 1.0.1, this is now managed via gemcutter.
|
11
|
+
|
10
12
|
## A. Instructions
|
11
13
|
Here are the necessary steps to install this module.
|
12
14
|
|
@@ -79,6 +81,14 @@ The key changes are:
|
|
79
81
|
2. You need to add helpers for login_ticket_tag and service_url_tag. These generate hidden parameters CAS services need.
|
80
82
|
3. Change the username parameter from :login to :username
|
81
83
|
|
84
|
+
You must also create a file in your project called: app/portlets/helpers/login_portlet_helper.rb, with the following contents:
|
85
|
+
|
86
|
+
module LoginPortletHelper
|
87
|
+
include Cas::Login
|
88
|
+
end
|
89
|
+
|
90
|
+
This will add the needed methods for the above class.
|
91
|
+
|
82
92
|
F. Known Issues
|
83
93
|
|
84
94
|
* Every page is secured by the CASClient Gateway Filter, which means a lot of redirects. This is potentially a big performance hit, and would require modifying the filter so it only handles checking login_tickets, rather than redirects.
|
data/lib/bcms_cas.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
|
1
|
+
##
|
2
|
+
# This file needs to be included in a file called app/portlets/helpers/login_portlet_helper.rb
|
3
|
+
# in the project. See installation instructions in the README for details.
|
4
|
+
module Cas::LoginPortlet
|
4
5
|
|
5
6
|
# Generates the hidden field for the service_url that the CAS server expects, which tells it where to redirect to. Must create
|
6
7
|
# an absolute URL.
|
@@ -12,4 +13,10 @@ module LoginPortletHelper
|
|
12
13
|
def login_ticket_tag
|
13
14
|
hidden_field_tag :lt, Cas::Utils.fetch_lt_from_cas
|
14
15
|
end
|
16
|
+
|
17
|
+
##
|
18
|
+
# Returns the URL to the CAS login service.
|
19
|
+
def login_url
|
20
|
+
CASClient::Frameworks::Rails::Filter.login_url
|
21
|
+
end
|
15
22
|
end
|
data/lib/cas/utils.rb
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
require 'mocha'
|
3
|
+
|
4
|
+
class LoginObject
|
5
|
+
include Cas::LoginPortlet
|
6
|
+
end
|
7
|
+
|
8
|
+
class LoginPortletTest < ActiveSupport::TestCase
|
9
|
+
|
10
|
+
test "service_url_tag" do
|
11
|
+
obj = LoginObject.new
|
12
|
+
assert obj.respond_to?(:service_url_tag)
|
13
|
+
end
|
14
|
+
|
15
|
+
test "login_ticket_tag" do
|
16
|
+
obj = LoginObject.new
|
17
|
+
assert obj.respond_to?(:login_ticket_tag)
|
18
|
+
end
|
19
|
+
|
20
|
+
test "login_service_url exists" do
|
21
|
+
obj = LoginObject.new
|
22
|
+
assert obj.respond_to?(:login_url)
|
23
|
+
end
|
24
|
+
|
25
|
+
test "Returns the login service from Cas" do
|
26
|
+
CASClient::Frameworks::Rails::Filter.expects(:login_url).returns("http://example.com")
|
27
|
+
|
28
|
+
obj = LoginObject.new
|
29
|
+
|
30
|
+
assert_equal "http://example.com", obj.login_url
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bcms_cas
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BrowserMedia
|
@@ -9,11 +9,30 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-01-19 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
16
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: browsercms
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 3.0.6
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rubycas-client
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0"
|
34
|
+
version:
|
35
|
+
description: Allows a BrowserCMS project to connect to a CAS server to authenticate users.
|
17
36
|
email: github@browsermedia.com
|
18
37
|
executables: []
|
19
38
|
|
@@ -23,11 +42,11 @@ extra_rdoc_files:
|
|
23
42
|
- README.markdown
|
24
43
|
files:
|
25
44
|
- app/models/cas_user.rb
|
26
|
-
- app/portlets/helpers/login_portlet_helper.rb
|
27
45
|
- db/migrate/20091002162550_add_cas_user_group.rb
|
28
46
|
- lib/bcms_cas.rb
|
29
47
|
- lib/bcms_cas/routes.rb
|
30
48
|
- lib/cas/authentication.rb
|
49
|
+
- lib/cas/login_portlet_extension.rb
|
31
50
|
- lib/cas/utils.rb
|
32
51
|
- rails/init.rb
|
33
52
|
- README.markdown
|
@@ -55,7 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
55
74
|
requirements: []
|
56
75
|
|
57
76
|
rubyforge_project: browsercms
|
58
|
-
rubygems_version: 1.3.
|
77
|
+
rubygems_version: 1.3.5
|
59
78
|
signing_key:
|
60
79
|
specification_version: 3
|
61
80
|
summary: A CAS Module for BrowserCMS
|
@@ -63,6 +82,7 @@ test_files:
|
|
63
82
|
- test/performance/browsing_test.rb
|
64
83
|
- test/test_helper.rb
|
65
84
|
- test/unit/cas/cas_authentication_test.rb
|
85
|
+
- test/unit/cas/login_portlet_test.rb
|
66
86
|
- test/unit/cas_user_test.rb
|
67
87
|
- test/unit/cas_utils_test.rb
|
68
88
|
- test/unit/helpers/login_portlet_helper_test.rb
|