Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
heptapod
heptapod
Commits
02d95abea684
Commit
02d95abe
authored
Jun 01, 2012
by
Nihad Abbasov
Browse files
allow login via private token only for atom feeds
parent
4a1ade6c2648
Changes
2
Hide whitespace changes
Inline
Side-by-side
app/controllers/application_controller.rb
View file @
02d95abe
class
ApplicationController
<
ActionController
::
Base
before_filter
:authenticate_user!
before_filter
:reject_blocked!
before_filter
:set_current_user_for_mailer
before_filter
:set_current_user_for_mailer
,
:check_token_auth
protect_from_forgery
helper_method
:abilities
,
:can?
...
...
@@ -17,5 +17,12 @@
protected
def
check_token_auth
# Redirect to login page if not atom feed
if
params
[
:private_token
].
present?
&&
params
[
:format
]
!=
'atom'
redirect_to
new_user_session_path
end
end
def
reject_blocked!
if
current_user
&&
current_user
.
blocked
...
...
@@ -20,6 +27,6 @@
def
reject_blocked!
if
current_user
&&
current_user
.
blocked
sign_out
current_user
sign_out
current_user
flash
[
:alert
]
=
"Your account was blocked"
redirect_to
new_user_session_path
end
...
...
spec/requests/projects_spec.rb
View file @
02d95abe
...
...
@@ -28,6 +28,13 @@
visit
projects_path
(
:atom
,
:private_token
=>
@user
.
private_token
)
page
.
body
.
should
have_selector
(
"feed title"
)
end
it
"should not render projects page via private token"
do
logout
visit
projects_path
(
:private_token
=>
@user
.
private_token
)
current_path
.
should
==
new_user_session_path
end
end
describe
"GET /projects/new"
do
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment