लारावेल में पंजीकरण नए उपयोगकर्ताओं को कैसे अक्षम करें


130

मैं लारवेल (v5) का उपयोग कर रहा हूं।

मुझे एक उपयोगकर्ता की आवश्यकता है और मैंने पहले ही पंजीकृत कर लिया है। अब मैं नए उपयोगकर्ताओं के लिए पंजीकरण अक्षम करना चाहता हूं। बेशक, मुझे काम करने के लिए लॉगिन फॉर्म की आवश्यकता है।

मैं उसे कैसे कर सकता हूँ?


बस अपने-अपने मार्गों से रजिस्टर-संबंधित तरीकों को हटा दें । रिक्त विधियों के साथ ओवरराइड न करें - यह एक भयानक और हैक-वाई दृष्टिकोण है जैसा कि आपने भविष्य में उस सुविधा को फिर से सक्षम करने का निर्णय लिया है, तो आप निकायों को फिर से जोड़ना चाहते हैं।
मार्टिन बीन

1
@MartinBean में कोई मार्ग नहीं हैं routes.php। प्रमाणीकरण कार्यों को सक्षम करने के लिए, आप सभी Route::auth();को फ़ाइल में जोड़ें ।
miken32

@ miken32 Route::auth()शॉर्टकट की वकालत करने से पहले मेरी टिप्पणी पांच महीने पहले की थी ।
मार्टिन बीन

5
अगर आप Auth::routes(['register' => false]);लार्वा 5.5 और ऊपर web.php में हैं
मनोजकिरण

जवाबों:


235

लारवेल 5.7 ने निम्नलिखित कार्यक्षमता शुरू की:

Auth::routes(['register' => false]);

वर्तमान में यहां संभव विकल्प हैं:

Auth::routes([
  'register' => false, // Registration Routes...
  'reset' => false, // Password Reset Routes...
  'verify' => false, // Email Verification Routes...
]);

पुराने लारवेल संस्करणों के लिए बस ओवरराइड showRegistrationForm()और register()तरीकों में

  • AuthController लारवेल 5.0 - 5.4 के लिए
  • Auth/RegisterController.php लारावेल 5.5 के लिए
public function showRegistrationForm()
{
    return redirect('login');
}

public function register()
{

}

5
यह भी हो सकता है कि परिवर्तन () फ़ंक्शन को: नया अपवाद फेंकें ('पंजीकरण संभव नहीं');
जिंक्स

2
या आप जोड़ सकते हैं abort(404)परfunction register()
विलियम Notowidagdo

3
मैं इस दृष्टिकोण की वकालत नहीं करूंगा, क्योंकि किसी सुविधा को हटाने के लिए कोड को ओवरलोड करना एक अच्छी बात नहीं है। बस पंजीकरण-संबंधित मार्गों को पंजीकृत न करें।
मार्टिन बीन

4
Auth/RegisterController.php
लारवेल

7
Laravel 5.7 showRegistrationForm()फ़ंक्शन vendorफ़ोल्डर में है, तकनीकी रूप से यह विक्रेता फ़ोल्डर में फ़ाइलों को संपादित करने के लिए अनुशंसित नहीं है । मूल रूप से मैं जो सुझाता हूं वह है रजिस्टर रजिस्टर को हटाना web.php। आप बस फ़ाइल Auth::routes(['register' => false])में कह सकते हैं web.php। चीयर्स!
अहमद रशीद

55

यदि आप Laravel 5.2 का उपयोग कर रहे हैं और आपने php artisan make:authतब संबंधित संबंधित कार्यक्षमता स्थापित की है, तो आपकी app/Http/routes.phpफ़ाइल में केवल कॉल करके सभी संबंधित-संबंधित मार्ग शामिल होंगे Route::auth()

में () विधि मिल सकती है vendor/laravel/framework/src/Illuminate/Routing/Router.php। इसलिए यदि आप ऐसा करना चाहते हैं जैसा कि कुछ लोग यहाँ सुझाव देते हैं और अवांछित मार्गों (शायद एक अच्छा विचार) को हटाकर पंजीकरण को अक्षम करते हैं, तो आपको उन मार्गों की प्रतिलिपि बनानी होगी जो अभी भी () विधि से चाहते हैं और उन्हें app/Http/routes.phpकॉल रूट में बदल रहे हैं :: प्राधिकरण ())। उदाहरण के लिए:

<?php
// This is app/Http/routes.php

// Authentication Routes...
Route::get('login', 'Auth\AuthController@showLoginForm');
Route::post('login', 'Auth\AuthController@login');
Route::get('logout', 'Auth\AuthController@logout');

// Registration Routes... removed!

// Password Reset Routes...
Route::get('password/reset/{token?}', 'Auth\PasswordController@showResetForm');
Route::post('password/email', 'Auth\PasswordController@sendResetLinkEmail');
Route::post('password/reset', 'Auth\PasswordController@reset');

यदि आप 5.2 से कम संस्करण का उपयोग कर रहे हैं, तो यह शायद अलग है, मुझे याद है कि चीजें 5.0 से काफी बदल गई थीं, कुछ बिंदु पर artisan make:authआईआईआरसी को भी हटा दिया गया था।


पंजीकरण मार्गों को हटाने के बजाय, क्या केवल विशेष प्रकार के उपयोगकर्ताओं के लिए उन्हें सक्षम करना संभव है?
सेफ्रान 2

@ Sefran2 आप समूहों को मिडलवेयर के साथ जोड़कर इसे प्राप्त कर सकते हैं। बाहर की जाँच करें laavel.com/docs/5.2/rout#route-groups
राफेल जी।

सबसे पहले, मैंने कोशिश की Route::group(['middleware' => 'auth'], function () { Route::get('register', 'Auth\AuthController@showRegistrationForm'); Route::post('register', 'Auth\AuthController@register'); });, लेकिन जब लॉग इन किए गए उपयोगकर्ता अनुरोधों को /registerफिर से निर्देशित किया जाता है/
Sefran2

1
@ Sefran2 ऐसा इसलिए है क्योंकि AuthController कॉल (अन्य वर्गों और लक्षणों के माध्यम से, यह थोड़ा जटिल है) मिडलवेयर App\Http\Middleware\RedirectIfAuthenticated। और वह मिडलवेयर आपको रीडायरेक्ट करता है /यदि आप पहले से लॉग इन हैं। जो समझ में आता है, यदि आप लॉग इन हैं तो आप पंजीकरण क्यों करना चाहते हैं? :-) यदि आप कुछ प्रकार के उपयोगकर्ताओं को केवल कुछ मार्गों की अनुमति देना चाहते हैं, तो आपको ['middleware' => 'auth']
राफेल जी।

2
5.3 के लिए वे एक बार फिर से अलग हैं, लेकिन अभी भी वेंडर / लार्वेल / फ्रेमवर्क / src / इल्यूमिनेट / राउटिंग / राउटर में पा सकते हैं। Rph.php
Matthieu

51

यह 5.7 में नया हो सकता है, लेकिन अब ऑर्टिकल विधि के लिए एक विकल्प सरणी है। बस बदल रहा है

Auth::routes();

सेवा

Auth::routes(['register' => false]);

चलने के बाद आपके मार्गों की फ़ाइल php artisan make:authउपयोगकर्ता पंजीकरण को अक्षम कर देगी।


1
इसके लिए धन्यवाद, मुझे नहीं पता कि यह किस संस्करण में मौजूद है, लेकिन मुझे लगता है कि यह पंजीकरण भाग को अक्षम करने का सही रास्ता है!
ओलिवियर रोशिक्स

इसे 5.7 में जोड़ा गया था ।
ड्यूकोरिस

34

लारवेल 5.3 और 5.4 के लिए, यहाँ यह करने का उचित तरीका है:

आपको बदलना होगा:

public function __construct()
    {
        $this->middleware('guest');
    }

सेवा

public function __construct()
    {
        $this->middleware('auth');
    }

में एप्लिकेशन / HTTP / नियंत्रक / प्रमाणीकरण / RegisterController.php


1
अच्छी नौकरी! मुझे लगता है कि पोस्ट के माध्यम से उपयोगकर्ता बनाने के लिए यह तरीका POST अनुरोध से भी बचाता है?
गेदमिनस

3
इस पंजीकृत उपयोगकर्ता पंजीकरण पृष्ठ है जो आप नहीं चाहते कि देखने की अनुमति देगा
अहमद

2
मिडिलवेयर ("सामान्य") का उपयोग करें तब मिडलवेयर ("गेस्ट") सभी के लिए पंजीकरण पृष्ठ को बायपास करने के लिए
user3425867

1
फिर एक उपयोगकर्ता इस मामले में एक नया उपयोगकर्ता पंजीकृत कर सकता है।
मुहम्मद आज़म

हाँ, यह 5.7 से नीचे की किसी भी चीज़ के लिए एकमात्र उचित तरीका है .. यह चयनित उत्तर नहीं है
user3548161

31

Laravel 5.7 के रूप में आप विकल्पों की एक सरणी पास कर सकते हैं Auth::routes()। इसके बाद आप रजिस्टर मार्गों को अक्षम कर सकते हैं:

Auth::routes(['register' => false]);

आप यह देख सकते हैं कि यह स्रोत कोड से कैसे काम करता है: src / Illuminate / Routing / Router.php


1
मेरी राय में, यह सही उत्तर है। अच्छा लगा!
रिक कुइलमैन

26

संस्करण 5.3 के लिए विधि 1

लार्वा 5.3 में ऑथेंट्रोलर नहीं है। रजिस्टर मार्ग को निष्क्रिय करने के लिए आपको RegisterControllerइस तरह के निर्माणकर्ता में बदलना चाहिए :

आप फॉर्म बदल सकते हैं:

public function __construct()
{

    $this->middleware('guest');

}

सेवा:

use Illuminate\Support\Facades\Redirect;

public function __construct()
{

    Redirect::to('/')->send();

}

नोट: उपयोग के Redirect लिए user Redirect; तो भूलकर भी https: // host_name / register परपहुँचें, क्योंकि यह "/" पर पुनर्निर्देशित है।

संस्करण 5.3 के लिए विधि 2

जब हम इसका उपयोग करते हैं तो php artisan make:authयह अपने आप जुड़ Auth::route(); जाता है। कृपया /routes/web.php में रूट को ओवरराइड करें। आप इसे इस तरह बदल सकते हैं: * आपको इस लाइन पर टिप्पणी करने की आवश्यकता है:Auth::routes();

    <?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| This file is where you may define all of the routes that are handled
| by your application. Just tell Laravel the URIs it should respond
| to using a Closure or controller method. Build something great!
|
*/


// Auth::routes();
Route::get('/login', 'Auth\LoginController@showLoginForm' );
Route::post('/login', 'Auth\LoginController@login');
Route::post('/logout', 'Auth\LoginController@logout');

Route::get('/home', 'HomeController@index');

धन्यवाद! मुझे उम्मीद है कि यह आपकी समस्याओं को हल कर सकता है।


मैं वेंडर / लार्वाल / फ्रेमवर्क / src / इल्लुमिनाट / राउटरिंग / Router.php रूट में निर्दिष्ट मार्ग नाम जोड़ूँगा: get ('लॉगिन', 'Auth \ LoginController @ showLoginForm') - नाम ('लॉगिन'); मार्ग :: पोस्ट ('लॉगिन', 'प्रामाणिक \ लॉगइनकंट्रोलर @ लॉगिन'); मार्ग :: पोस्ट ('लॉगआउट', 'प्रामाणिक \ लॉग-कंट्रोलर @ लॉगआउट') -> नाम ('लॉगआउट');
लुसियानो फैंटुसी

रीडायरेक्ट क्लास पहली विधि से चूक गई, लेकिन बदल रही है $this->middleware('auth');- काम करती है!
गेदमिनस

12

GetRegister और PostRegister को अधिलेखित करना मुश्किल है - यदि आप git का उपयोग कर रहे हैं, तो एक उच्च संभावना है कि .gitignoreफ्रेमवर्क फ़ाइलों को अनदेखा करने के लिए सेट किया गया है, जो इस परिणाम को जन्म देगा कि पंजीकरण अभी भी आपके उत्पादन वातावरण में संभव होगा (यदि लार्वा उदाहरण के लिए संगीतकार के माध्यम से स्थापित किया गया है) )

एक और संभावना मार्गों का उपयोग कर रही है। एफपी और इस लाइन को जोड़ना:

Route::any('/auth/register','HomeController@index');

इस तरह से फ्रेमवर्क फाइल्स को अकेला छोड़ दिया जाता है और किसी भी अनुरोध को अभी भी फ्रेमवर्क रजिस्टर मॉड्यूल से पुनर्निर्देशित किया जाएगा।


4
ढांचे के तरीकों को ओवरराइड करने वाले वर्ग ढांचे में नहीं हैं (वे ऐप फ़ोल्डर में होंगे) और गिट द्वारा संग्रहीत किया जाएगा। ओवरराइडिंग तरीकों का मतलब यह नहीं है कि आप उन्हें फ्रेमवर्क फ़ाइलों में बदल दें।
डेट्रेशमैन

11

AuthController.php@Limonte ओवरराइड है में है App\Http\Controllers\Auth,, विक्रेता निर्देशिका में नहीं तो Git इस परिवर्तन की उपेक्षा नहीं करता है।

मैंने इस कार्य को जोड़ा है:

public function register() {
    return redirect('/');
}

public function showRegistrationForm() {
    return redirect('/');
}

और यह सही ढंग से काम करता है।


9

लवरेल 5.6

Auth::routes([
    'register' => false, // Registration Routes...
    'reset' => false, // Password Reset Routes...
    'verify' => false, // Email Verification Routes...
]);

इसे स्वीकृत उत्तर में मिला दिया जाना चाहिए, लेकिन सिर्फ एक मामूली सुधार। यह सुविधा Laravel 5.7 में शुरू की गई थी, न कि Laravel 5.6
WebSpanner

8

5.4 के रूप में मेरे समाधान का उपयोग करें:

//Auth::routes();
// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

// Registration Routes...
//Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
//Route::post('register', 'Auth\RegisterController@register');

// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');

सूचना मैंने टिप्पणी की है Auth::routes()और दो पंजीकरण मार्ग।

महत्वपूर्ण: आपको यह भी सुनिश्चित करना चाहिए कि आप route('register')अपने app.bladeलेआउट के सभी उदाहरणों को हटा दें , या लारवेल एक त्रुटि फेंक देगा।


^ यह। यदि ये मार्ग कभी बदल जाते हैं, तो बस @ github.com/laravel/framework/blob/… स्थित प्रामाणिक मार्गों से कॉपी / पेस्ट करें और पंजीकरण मार्गों पर टिप्पणी करें।
pbond

7

निम्नलिखित विधि महान काम करती है:

सभी मार्गों को /vendor/laravel/framework/src/Illuminate/Routing/Router.phpकॉपी करें और उसमें पेस्ट करें web.phpऔर टिप्पणी करें या हटाएं Auth::routes()

फिर .env से पंजीकरण को सक्षम और अक्षम करने के लिए एक सशर्त सेटअप करें। 503.blade.phpफ़ाइल को डुप्लिकेट करें views/errorsऔर 403 निषिद्ध या जो भी आपको पसंद हो, बनाएं।

ALLOW_USER_REGISTRATION=.Env जोड़ें और उपयोगकर्ता पंजीकरण को सही या गलत पर सेट करके नियंत्रित करें।

अब आपके पास मार्गों का पूर्ण नियंत्रण है और विक्रेता फाइलें अछूती नहीं रह गई हैं।

web.php

//Auth::routes();

// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

// Registration Routes...
if (env('ALLOW_USER_REGISTRATION', true))
{
    Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
    Route::post('register', 'Auth\RegisterController@register');
}
else
{
    Route::match(['get','post'], 'register', function () {
        return view('errors.403');
    })->name('register');
}

// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');

यह कुछ पिछले जवाबों विशेष रूप से रफाल जी और डैनियल सेंटोर का संयोजन है।


6

लारवल 5.6 और इसके बाद के संस्करण में आप web.php फ़ाइल में संपादित कर सकते हैं

Auth::routes(['verify' => true, 'register' => false]);

और आप इसे सच कर सकते हैं यदि आप अपना मन बदलते हैं, तो मैं इसे इस तरह से देखता हूं


5

में routes.php, बस निम्नलिखित जोड़ें:

if (!env('ALLOW_REGISTRATION', false)) {
    Route::any('/register', function() {
        abort(403);
    });
}

फिर आप चुनिंदा तरीके से नियंत्रित कर सकते हैं कि पंजीकरण की अनुमति है या नहीं .env


3

मुझे उपयोग करना था:

public function getRegister()
{
    return redirect('/');
}

Redirect :: to () का उपयोग करने से मुझे एक त्रुटि मिली:

Class 'App\Http\Controllers\Auth\Redirect' not found

धन्यवाद, हां यह नया संस्करण सुविधा है, आप इस फ़ंक्शन का उपयोग कर सकते हैं या पूर्ववर्ती वर्ग का उपयोग कर सकते हैं, लेकिन इससे पहले की कक्षा की जरूरतें हैं, मेरा मतलब है कि \ Redirect :: to ('गंतव्य');
मिलाद रहमी

3

लारवेल में 5.4

आप उन सभी मार्गों को पा सकते हैं जो विधि में Auth::routes()कक्षा \Illuminate\Routing\Routerमें पंजीकृत हैंauth()

यह इस तरह दिख रहा है:

/**
 * Register the typical authentication routes for an application.
 *
 * @return void
 */
public function auth()
{
    // Authentication Routes...
    $this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
    $this->post('login', 'Auth\LoginController@login');
    $this->post('logout', 'Auth\LoginController@logout')->name('logout');

    // Registration Routes...
    $this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
    $this->post('register', 'Auth\RegisterController@register');

    // Password Reset Routes...
    $this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
    $this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
    $this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
    $this->post('password/reset', 'Auth\ResetPasswordController@reset');
}

बस उन मार्गों को कॉपी करें जो आपको चाहिए / आवश्यकता है और आप ठीक हैं!


2

लार्वा 5.3 में, आपको फ़ाइल में showRegistrationForm()नीचे दिए गए कोड को शामिल करके डिफ़ॉल्ट को ओवरराइड करना चाहिएRegisterController.phpapp\Http\Controllers\Auth

    /**
     * Show the application registration form.
     *
     * @return \Illuminate\Http\Response
     */
    public function showRegistrationForm()
    {
        //return view('auth.register');
         abort(404);  //this will throw a page not found exception
    }

चूँकि आप पंजीकरण की अनुमति नहीं देना चाहते हैं, 404 errorइसलिए बेहतर है कि घुसपैठिए को फेंक दिया जाए ताकि वह जान सके कि वह हार गया है। और जब आप अपने ऐप में रिस्ट्रिक्शन के लिए तैयार हों //return view('auth.register');तो असहजता तब कमेंट करेंabort(404);

\\\\\\\\\\\\\\\\\\\\\\\\\\\=IN के / मेरे ग्राहक ////

यदि आपको उपयोगकर्ताओं, सदस्यों, छात्रों, व्यवस्थापक आदि के लिए कई प्रमाणीकरण बनाने की आवश्यकता है, तो मैं आपको सलाह देता हूं कि इस hesto / मल्टी- ऑर्कुट को L5 ऐप में असीमित ऑर्ट्स के लिए एक भयानक पैकेज की जांच करें ।

आप प्रमाणीकरण पद्धति और में उसके संबंधित फाइल abouth अधिक पढ़ सकते हैं इस writeup।


2
पोस्ट अनुरोध के माध्यम से उपयोगकर्ता के पंजीकरण से बचने के लिए आपको पोस्ट मार्ग को भी पैच करना होगा।
वैष्णव म्हात्रे

2

लारवेल में 5.5

मैं Laravel 5.5 में इसी समस्या को पूरा करने की कोशिश कर रहा था। Auth::routes()Web.php रूट्स फ़ाइल में उपयोग करने के बजाय , मैंने केवल लॉगिन / लॉगआउट मार्गों को शामिल किया:

Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

2

पहले की टिप्पणियों में इसका उल्लेख किया गया है, लेकिन मैं स्पष्ट करना चाहूंगा कि Laravel ^ 5.7 में आपकी web.php फ़ाइल में कई मार्गों तक पहुँचने के कई तरीके हैं। आपके संस्करण के आधार पर यह थोड़ा अलग लग सकता है, लेकिन वे समान परिणाम प्राप्त करते हैं।

पहला विकल्प

Route::auth([
  'register' => false, // Registration Routes...
  'reset' => false, // Password Reset Routes...
  'verify' => false, // Email Verification Routes...
]);

दूसरा विकल्प

Auth::routes([
  'register' => false, // Registration Routes...
  'reset' => false, // Password Reset Routes...
  'verify' => false, // Email Verification Routes...
]);

1

अपने web.php में रजिस्टर रूट को झूठा सेट करें ।

Auth::routes(['register' => false]);

0

आदेश में बहुत अधिक कोड नहीं बदलते हैं, बस यह पता लगाने के लिए एक मिडलवेयर बनाएं कि क्या आग्रह url ('रजिस्टर') है, तो 404 पर रीडायरेक्ट करें या जहां भी करें।


1
बहुत लंबे समय तक समाधान। गर्भपात के साथ एक साधारण फ़ंक्शन ओवरराइड निश्चित रूप से काम कर सकता है।
वैष्णव म्हात्रे

0

लारवेल में 5.5

इसी तरह के मुद्दे पर काम करना और मिडलवेयर लॉजिक को गेस्ट से 'ऑउटफिट' में सेट करना एक अधिक सुरुचिपूर्ण समाधान की तरह लग रहा था।

फाइल संपादित करें: ऐप-> http-> कंट्रोलर-> ऑथेंटिक> रजिस्टरकंट्रोलर.फैप

public function __construct()
{
     //replace this
     //$this->middleware('guest');

     //with this argument.
       $this->middleware('auth');
}

मैं गलत हो सकता है ... लेकिन यह अधिक लाइनों के साथ राउटिंग को संपादित करने की तुलना में अधिक धीमा लगता है और केवल पृष्ठ को पुनर्निर्देशित करने की तुलना में कम चमक है ... कम से कम इस उदाहरण में, मेहमानों के लिए पंजीकरण को लॉक करना चाहते हैं।


मुझे यह जानने की उत्सुकता होगी कि क्या कोई उपयोगकर्ता इस पद्धति का उपयोग करके कई बार पंजीकरण कर सकता है। guestमिडलवेयर जिम्मेदार पुन: निर्देशित एक पहले से ही है कि केवल एक अतिथि एक्सेस कर सकते हैं (यानी एक एक पृष्ठ से दूर उपयोगकर्ता में लॉग इन /registerपेज)
किंग्सले

0

मुझे लगता है कि यह एक बेहतर समाधान होगा।

नीचे बताए गए तरीकों को ओवरराइड करें

अनुप्रयोग \ http \ नियंत्रक \ प्रमाणीकरण \ RegisterController.php

use Illuminate\Http\Response;

.
.
.

public function showRegistrationForm()
{
    abort(Response::HTTP_NOT_FOUND);
}

public function register(Request $request)
{
    abort(Response::HTTP_NOT_FOUND);
}

0

यदि आप CRUD मार्ग प्रणाली का उपयोग कर रहे हैं, तो Laravel 5.5 बहुत सरल है।

app/http/controllers/RegisterController नामस्थान पर जाएं :Illuminate\Foundation\Auth\RegistersUser

आपको रजिस्ट्रर्स में जाने की आवश्यकता है: Illuminate\Foundation\Auth\RegistersUser

इस के लिए मेथड कॉल showRegistrationFormचेंज है: इसके return view('auth.login');लिए: return redirect()->route('auth.login');और आप से निकालें ब्लेड पेज रूट कॉल रजिस्टर। ऐसा लग सकता है:

 <li role="presentation">
     <a class="nav-link" href="{{ route('register') }}">Register</a>
 </li> 

0

मुझे यह लार्वा 5.6 में सबसे आसान समाधान मिला! यह किसी ऐसे व्यक्ति को रीडायरेक्ट करता है जो yourite.com पर जाने के लिए आपका प्रयास करता है

मार्गों / web.php

// redirect from register page to home page
Route::get('/register', function () {
    return redirect('/');
});

0

मैंने सभी रजिस्टर रजिस्टर ब्लेड कोड को लॉगिन ब्लेड कोड से बदल दिया था। इस तरह से रजिस्टर अभी भी लॉगिन हो जाता है।

resources/views/auth/register.blade.php के साथ बदल दिया गया है resources/views/auth/login.blade.php


0

लारवेल 5.6+ के लिए, नीचे दी गई विधियों को चिपकाएँ app\Http\Controller\Auth\RegisterController

/*
* Disabling registeration.
*
*/
public function register() 
{
    return redirect('/');
}

/*
* Disabling registeration.
*
*/
public function showRegistrationForm() 
{
    return redirect('/');
}

अब आप उन तरीकों को पार कर रहे हैं RegistersUser, जब भी आप अपना विचार बदलते हैं तो इन तरीकों को हटा दें। आप रजिस्टर लिंक में welcome.blade.phpऔर login.blade.phpविचारों को भी टिप्पणी कर सकते हैं ।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.