در این سوال قصد داریم تغییر کوچکی در سیستم ورود لاراول ایجاد کنیم.
`Authentication` پیشفرض لاراول ورود را با ایمیل بررسی میکند، اما ما دوست داریم کاربران با نام کاربریای که در هنگام ثبتنام وارد میکنند وارد سایت شوند، به همین دلیل در این امر از شما کمک میخواهیم.
# پروژه اولیه
پروژه اولیه را از
[اینجا](http://bayanbox.ir/download/1321519985967862558/authentication-initial.zip)
دانلود کنید. ساختار فایلهای این پروژه به صورت زیر است:
```
authentication_initial
├─ app
│ ├─ Console
│ │ └─ Kernel.php
│ ├─ Exceptions
│ │ └─ Handler.php
│ ├─ Http
│ │ ├─ Controllers
│ │ │ ├─ Auth
│ │ │ │ ├─ ForgotPasswordController.php
│ │ │ │ ├─ LoginController.php
│ │ │ │ ├─ RegisterController.php
│ │ │ │ ├─ ResetPasswordController.php
│ │ │ │ └─ VerificationController.php
│ │ │ ├─ Controller.php
│ │ │ └─ HomeController.php
│ │ ├─ Middleware
│ │ │ ├─ Authenticate.php
│ │ │ ├─ CheckForMaintenanceMode.php
│ │ │ ├─ EncryptCookies.php
│ │ │ ├─ RedirectIfAuthenticated.php
│ │ │ ├─ TrimStrings.php
│ │ │ ├─ TrustProxies.php
│ │ │ └─ VerifyCsrfToken.php
│ │ └─ Kernel.php
│ ├─ Providers
│ │ ├─ AppServiceProvider.php
│ │ ├─ AuthServiceProvider.php
│ │ ├─ BroadcastServiceProvider.php
│ │ ├─ EventServiceProvider.php
│ │ └─ RouteServiceProvider.php
│ └─ User.php
├─ bootstrap
│ ├─ cache
│ └─ app.php
├─ config
│ ├─ app.php
│ ├─ auth.php
│ ├─ broadcasting.php
│ ├─ cache.php
│ ├─ database.php
│ ├─ filesystems.php
│ ├─ hashing.php
│ ├─ logging.php
│ ├─ mail.php
│ ├─ queue.php
│ ├─ services.php
│ ├─ session.php
│ └─ view.php
├─ database
│ ├─ factories
│ │ └─ UserFactory.php
│ ├─ migrations
│ │ ├─ 2014_10_12_000000_create_users_table.php
│ │ └─ 2014_10_12_100000_create_password_resets_table.php
│ └─ seeds
│ └─ DatabaseSeeder.php
├─ public
│ ├─ css
│ │ └─ app.css
│ ├─ js
│ │ └─ app.js
│ ├─ svg
│ │ ├─ 403.svg
│ │ ├─ 404.svg
│ │ ├─ 500.svg
│ │ └─ 503.svg
│ ├─ .htaccess
│ ├─ favicon.ico
│ ├─ index.php
│ └─ robots.txt
├─ resources
│ ├─ js
│ │ ├─ components
│ │ │ └─ ExampleComponent.vue
│ │ ├─ app.js
│ │ └─ bootstrap.js
│ ├─ lang
│ │ └─ en
│ │ ├─ auth.php
│ │ ├─ pagination.php
│ │ ├─ passwords.php
│ │ └─ validation.php
│ ├─ sass
│ │ ├─ _variables.scss
│ │ └─ app.scss
│ └─ views
│ ├─ auth
│ │ ├─ passwords
│ │ │ ├─ email.blade.php
│ │ │ └─ reset.blade.php
│ │ ├─ login.blade.php
│ │ ├─ register.blade.php
│ │ └─ verify.blade.php
│ ├─ layouts
│ │ └─ app.blade.php
│ ├─ home.blade.php
│ └─ welcome.blade.php
├─ routes
│ ├─ api.php
│ ├─ channels.php
│ ├─ console.php
│ └─ web.php
├─ storage
│ ├─ app
│ ├─ framework
│ │ ├─ cache
│ │ ├─ sessions
│ │ ├─ testing
│ │ └─ views
│ └─ logs
├─ tests
│ ├─ CreatesApplication.php
│ └─ TestCase.php
├─ .editorconfig
├─ .env
├─ .env.example
├─ .gitattributes
├─ artisan
├─ composer.json
├─ composer.lock
├─ database.sqlite
├─ package.json
├─ phpunit.xml
├─ server.php
├─ webpack.mix.js
└─ yarn.lock
```
# جزئیات
پروژهی اولیه، پروژهی لاراول خامی است که روی آن دستور `php artisan make:auth` اجرا شده و کمی `view`های آن تغییر کردهاند.
شما تنها مجاز به تغییر فایل `app/Http/Controllers/Auth/LoginController.php` هستید، باید کاری کنید که در کنترلر ورود به جای ایمیل از نام کاربری برای ورود استفاده شود.
# نکات
- شما تنها مجاز به تغییر فایل `app/Http/Controllers/Auth/LoginController.php` هستید، بقیهی تغییرات نادیده گرفته میشوند.
- پس از اعمال تغییرات کل پروژه به غیر از پوشهی `vendor` را _Zip_ کرده و ارسال کنید.
- نام فایل Zip اهمیتی ندارد.