为了账号安全,请及时绑定邮箱和手机立即绑定

已解决 - Laravel 6 登录在服务器 (Heroku) 上不执行任何操作

已解决 - Laravel 6 登录在服务器 (Heroku) 上不执行任何操作

PHP
UYOU 2022-12-23 12:55:24
我是 Laravel 的新手。我正在使用 Laravel 6 开发医疗应用程序。在本地一切正常。现在我尝试在服务器 (Heroku) 上测试我的应用程序。登录屏幕加载正常,但当我输入用户名和密码时,应用程序重新加载登录页面,但没有任何反应。我的数据库存储在 db4free.net 上,如果我转到 url:myapp.herokuapp.com/register 并注册一个新用户,新用户将添加到数据库中,所以我认为这不是数据库连接问题。如果它可以帮助您了解正在发生的事情,我将添加一些代码:网站.php:<?phpuse Illuminate\Support\Facades\Route;/*|--------------------------------------------------------------------------| Web Routes|--------------------------------------------------------------------------|| Here is where you can register web routes for your application. These| routes are loaded by the RouteServiceProvider within a group which| contains the "web" middleware group. Now create something great!|*/Route::get('/', function () {    return view('auth.login');});Auth::routes();Route::get('profile', 'ProfileController@index')->name('profile');Route::put('profile-update', 'ProfileController@update')->name('profile.update');Route::put('profile-update-password', 'ProfileController@updatePassword')->name('profile.update.password');Route::group(['as'=>'admin.','prefix'=>'admin','namespace'=>'admin', 'middleware'=>['auth','admin']], function (){    Route::get('dashboard', 'DashboardController@index')->name('dashboard');    Route::resource('user', 'UserController');    Route::resource('dosimeter', 'DosimeterController');    Route::resource('dosimeterref', 'DosimeterRefController');    Route::resource('room', 'RoomController');    Route::put('password-update/{id}', 'UserController@updatePassword')->name('password.update');    Route::put('password-reset/{id}', 'UserController@resetPassword')->name('password.reset');});Route::group(['as'=>'mphysicist.','prefix'=>'mphysicist','namespace'=>'mphysicist', 'middleware'=>['auth','mphysicist']], function (){    Route::get('dashboard', 'DashboardController@index')->name('dashboard');});
查看完整描述

1 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

我发现了问题。我更改了我的登录名以使用 DNI(国家身份证件)而不是电子邮件,但我忘记覆盖登录控制器中的登录方法。我不明白为什么它在没有这个覆盖的情况下在本地工作。


如果有人帮忙,这是我的覆盖登录方法:


public function login(Request $request)

    {   


        $this->validate($request, [

            'dni' => 'required',

            'password' => 'required',

        ]);


        if(Auth::attempt(['dni' => $request->dni, 'password' => $request->password]))

        {

            if(Auth::check() && Auth::user()->role->id == 1)

            {

                return redirect()->route('admin.dashboard');

            }

            elseif (Auth::check() && Auth::user()->role->id == 2)

            {

                return redirect()->route('mphysicist.dashboard');

            }

            else

            {

                return redirect()->route('professional.dashboard');

            }

        }else{

            return redirect()->route('login')

            ->with('error','DNI and Password are wrong.');

        }


    }


查看完整回答
反对 回复 2022-12-23
  • 1 回答
  • 0 关注
  • 58 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信