Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
L
laravel-test
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Александр Чаплыгин
laravel-test
Commits
e31dfe5a
Commit
e31dfe5a
authored
Jun 26, 2023
by
Александр Чаплыгин
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
redirect for auth non-verified users
parent
6f15f435
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
84 additions
and
5 deletions
+84
-5
Authenticate.php
src/app/Http/Middleware/Authenticate.php
+1
-0
EnsureEmailIsVerified.php
src/app/Http/Middleware/EnsureEmailIsVerified.php
+42
-0
RedirectIfAuthenticated.php
src/app/Http/Middleware/RedirectIfAuthenticated.php
+0
-0
login.js
src/public/assets/js/login.js
+0
-1
home.blade.php
src/resources/views/home.blade.php
+17
-0
layout.blade.php
src/resources/views/layouts/layout.blade.php
+6
-0
modal.blade.php
src/resources/views/layouts/modal.blade.php
+1
-2
auth.blade.php
src/resources/views/user/auth.blade.php
+0
-2
web.php
src/routes/web.php
+17
-0
No files found.
src/app/Http/Middleware/Authenticate.php
View file @
e31dfe5a
...
...
@@ -14,4 +14,5 @@ class Authenticate extends Middleware
{
return
$request
->
expectsJson
()
?
null
:
route
(
'login.auth'
);
// перенаправление для не зарегистрированного
}
}
src/app/Http/Middleware/EnsureEmailIsVerified.php
0 → 100644
View file @
e31dfe5a
<?php
namespace
App\Http\Middleware
;
use
Closure
;
use
Illuminate\Auth\Middleware\EnsureEmailIsVerified
as
Middleware
;
use
Illuminate\Http\Request
;
class
EnsureEmailIsVerified
extends
Middleware
{
/**
* Get the path the user should be redirected to when they are not authenticated.
*/
public
static
function
redirectTo
(
$route
)
{
return
static
::
class
.
':'
.
$route
;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $redirectToRoute
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse|null
*/
public
function
handle
(
$request
,
Closure
$next
,
$redirectToRoute
=
null
)
{
if
(
!
$request
->
user
()
)
{
return
redirect
()
->
route
(
'home'
);
}
else
{
if
(
!
$request
->
user
()
->
hasVerifiedEmail
())
{
return
redirect
()
->
route
(
'home'
);
//return redirect()->route('notVerified');
}
}
return
$next
(
$request
);
}
}
src/app/Http/Middleware/RedirectIfAuthenticated.php
View file @
e31dfe5a
src/public/assets/js/login.js
View file @
e31dfe5a
...
...
@@ -340,7 +340,6 @@
auth
.
classList
.
add
(
'm-hide'
);
emailMessageEmail
.
innerText
=
email
;
//emailMessageLink.setAttribute("action", link);
emailMessage
.
classList
.
remove
(
'm-hide'
);
}
...
...
src/resources/views/home.blade.php
View file @
e31dfe5a
...
...
@@ -231,3 +231,19 @@
</
section
><!--
End
Contact
Section
-->
@
endsection
@
section
(
'page_scripts'
)
@
auth
@
if
(
!
auth
()
->
user
()
->
hasVerifiedEmail
())
<
script
>
document
.
querySelector
(
'.b-social'
)
.
classList
.
add
(
'm-hide'
);
document
.
querySelector
(
'.b-auth'
)
.
classList
.
add
(
'm-hide'
);
document
.
querySelector
(
'.b-email-message'
)
.
classList
.
remove
(
'm-hide'
);
document
.
querySelector
(
'#navbar .getstarted'
)
.
click
();
</
script
>
@
endif
@
endauth
@
endsection
\ No newline at end of file
src/resources/views/layouts/layout.blade.php
View file @
e31dfe5a
...
...
@@ -37,12 +37,18 @@
<nav
id=
"navbar"
class=
"navbar"
>
<ul>
@auth
@if(auth()->user()->hasVerifiedEmail())
<li
class=
"dropdown"
><a
href=
"#"
><span
class=
"fw-bold"
>
{{ auth()->user()->email }}
</span>
<i
class=
"bi bi-chevron-down"
></i></a>
<ul>
<li><a
href=
"{{ url('settings') }}"
>
Налаштування
</a></li>
<li><a
href=
"{{ route('logout') }}"
>
Вийти
</a></li>
</ul>
</li>
@else
<li>
<a
class=
"getstarted"
href=
"#"
data-bs-toggle=
"modal"
data-bs-target=
"#loginModal"
>
Увiйти
</a>
</li>
@endif
@endauth
@guest
<li>
...
...
src/resources/views/layouts/modal.blade.php
View file @
e31dfe5a
...
...
@@ -74,11 +74,10 @@
</div>
<div
class=
"b-email-message contact text-center m-hide"
>
<p>
На пошту
<b></b>
надіслано листа, потрібно перейти за посиланням.
</p>
<p>
На пошту
<b>
@auth {{ auth()->user()->email }} @endauth
</b>
надіслано листа, потрібно перейти за посиланням.
</p>
<p>
Якщо лист не надійшов, перевірте спам.
</p>
<form
method=
"post"
action=
'/email/verification-notification'
class=
"php-email-form"
id=
"ver-email-form"
>
@csrf
<button
type=
"submit"
>
Надіслати листа ще раз
</button>
</form>
</div>
...
...
src/resources/views/user/auth.blade.php
View file @
e31dfe5a
...
...
@@ -3,9 +3,7 @@
@
section
(
'title'
)
Авторизацiя
@
endsection
@
section
(
'page_scripts'
)
@
if
(
!
config
(
'project.minificate_static'
))
<
script
>
document
.
querySelector
(
'#navbar .getstarted'
)
.
click
();
</
script
>
@
endif
@
endsection
src/routes/web.php
View file @
e31dfe5a
...
...
@@ -25,10 +25,12 @@ Route::get('/test', function () {
return
view
(
'test'
);
})
->
name
(
'test'
);
Route
::
get
(
'/'
,
function
()
{
return
view
(
'home'
);
})
->
name
(
'home'
);
Route
::
get
(
'/loading'
,
function
()
{
return
view
(
'loading'
);
})
->
name
(
'loading'
);
...
...
@@ -50,6 +52,14 @@ Route::post('/email/verification-notification', function (Request $request) {
})
->
middleware
([
'auth'
,
'throttle:6,1'
])
->
name
(
'verification.send'
);
/*
Route::group(['middleware' => ['guest', 'verified']], function(){
Route::get('/', function () {
return view('home');
}) -> name('home');
});
*/
Route
::
group
([
'middleware'
=>
'guest'
],
function
(){
Route
::
get
(
'/register'
,
[
UserController
::
class
,
'create'
])
->
name
(
'register.create'
);
...
...
@@ -73,7 +83,14 @@ Route::group(['middleware' => 'guest'], function(){
Route
::
group
([
'middleware'
=>
'auth'
],
function
(){
Route
::
get
(
'/logout'
,
[
UserController
::
class
,
'logout'
])
->
name
(
'logout'
);
//Route::get('/settings', [UserController::class, 'settings']) -> name('settings');
//Route::post('/settings', [UserController::class, 'edit']) -> name('settings.edit');
});
Route
::
group
([
'middleware'
=>
[
'verified'
]],
function
(){
Route
::
get
(
'/settings'
,
[
UserController
::
class
,
'settings'
])
->
name
(
'settings'
);
Route
::
post
(
'/settings'
,
[
UserController
::
class
,
'edit'
])
->
name
(
'settings.edit'
);
});
Write
Preview
Markdown
is supported
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