Description:
fixed admin authorization bug in single user mode
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r284:e64cd998f824 - - 1 file changed: 1 inserted, 1 deleted

@@ -12,49 +12,49
12 12 end
13 13
14 14 def authorization_by_roles(allowed_roles)
15 15 return false unless authenticate
16 16 user = User.find(session[:user_id])
17 17 unless user.roles.detect { |role| allowed_roles.member?(role.name) }
18 18 flash[:notice] = 'You are not authorized to view the page you requested'
19 19 redirect_to :controller => 'main', :action => 'login'
20 20 return false
21 21 end
22 22 end
23 23
24 24 protected
25 25
26 26 def authenticate
27 27 unless session[:user_id]
28 28 redirect_to :controller => 'main', :action => 'login'
29 29 return false
30 30 end
31 31
32 32 #Configuration.reload
33 33 # check if run in single user mode
34 34 if (Configuration[SINGLE_USER_MODE_CONF_KEY])
35 35 user = User.find(session[:user_id])
36 - if user==nil or user.login != 'root'
36 + if user==nil or (not user.admin?)
37 37 redirect_to :controller => 'main', :action => 'login'
38 38 return false
39 39 end
40 40 end
41 41
42 42 return true
43 43 end
44 44
45 45 def authorization
46 46 return false unless authenticate
47 47 user = User.find(session[:user_id])
48 48 unless user.roles.detect { |role|
49 49 role.rights.detect{ |right|
50 50 right.controller == self.class.controller_name and
51 51 (right.action == 'all' or right.action == action_name)
52 52 }
53 53 }
54 54 flash[:notice] = 'You are not authorized to view the page you requested'
55 55 #request.env['HTTP_REFERER'] ? (redirect_to :back) : (redirect_to :controller => 'login')
56 56 redirect_to :controller => 'main', :action => 'login'
57 57 return false
58 58 end
59 59 end
60 60
You need to be logged in to leave comments. Login now