blob: 62ef3fdf5ab310a583271a966419b41116155a78 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
class CertsController < ApplicationController
before_filter :login_if_required
# GET /cert
def show
@cert = ClientCertificate.new(:prefix => certificate_prefix)
render text: @cert.to_s, content_type: 'text/plain'
end
protected
def login_if_required
authorize unless APP_CONFIG[:allow_anonymous_certs]
end
#
# this is some temporary logic until we store the service level in the user db.
#
# better logic might look like this:
#
# if logged_in?
# service_level = user.service_level
# elsif allow_anonymous?
# service_level = service_levels[:anonymous]
# else
# service_level = nil
# end
#
# if service_level.bandwidth == 'limited' && allow_limited?
# prefix = limited
# elsif allow_unlimited?
# prefix = unlimited
# else
# prefix = nil
# end
#
def certificate_prefix
if logged_in?
if APP_CONFIG[:allow_unlimited_certs]
APP_CONFIG[:unlimited_cert_prefix]
elsif APP_CONFIG[:allow_limited_certs]
APP_CONFIG[:limited_cert_prefix]
end
elsif !APP_CONFIG[:allow_limited_certs]
APP_CONFIG[:unlimited_cert_prefix]
else
APP_CONFIG[:limited_cert_prefix]
end
end
end
|