Php Laravel通过密码限制站点

Php Laravel通过密码限制站点,php,laravel,authentication,laravel-5,password-protection,Php,Laravel,Authentication,Laravel 5,Password Protection,我需要提供认证我的Laravel5网站的密码(没有用户名,只有密码)。只有用户输入正确的密码,才能访问站点。 它不能是基本的服务器授权,因为我必须实现一些设计 我知道在Laravel中使用多重身份验证是可能的,但我不知道如何在我的应用程序中使用我的标准(用户和密码)身份验证 有人能帮忙吗?构建了一个手动身份验证功能,只检查密码 public function authenticate(Request $request) { $password=$request-&

我需要提供认证我的Laravel5网站的密码(没有用户名,只有密码)。只有用户输入正确的密码,才能访问站点。 它不能是基本的服务器授权,因为我必须实现一些设计

我知道在Laravel中使用多重身份验证是可能的,但我不知道如何在我的应用程序中使用我的标准(用户和密码)身份验证


有人能帮忙吗?

构建了一个手动身份验证功能,只检查密码

    public function authenticate(Request $request)
    {
        $password=$request->get('password');
        if (Auth::attempt(['password' => $password]) )
        {     
            return redirect()->intended('/home');   
        }
        else 
        {
            return redirect('/login');
        }
     }

你可以这样做:


我还没有尝试过这个,但想法是有的。你可以利用它制作中间件,或者直接在route/controller中使用它。

如果我正确理解了你的问题,你希望在你的站点上只进行密码验证,而不需要用户名。为了实现这一点,我将采取以下措施:

  • 创建具有电子邮件地址的用户passwordlogin@yoursite.com”“你的朋友呢 所需密码

  • 更新您的登录表单,使其仅需要密码

    <form method="POST" action="/login">
    {!! csrf_field() !!}
    
    <input type="password" id="fieldPassword" name="password" required>
    <label for="fieldPassword" class="label">Password</label>
    

您想要多重身份验证还是单一身份验证?如果您需要在进入网站之前输入密码,您很可能希望在
/
之前构建身份验证中间件,或者只在nginx/apache中执行基本身份验证。我需要两种身份验证:-第一种:输入密码以访问网站-第二种:用户的正常内置laravel身份验证及其密码我需要它来为知道的人提供网站使用限制访问的密码website@arma“在/之前构建身份验证中间件”-你是什么意思?它不能是nginx/apache中的基本身份验证,因为我需要为“输入密码页”实现一些设计。您想在进入网站时显示密码页吗?或者仅仅是基本身份验证的工作方式?谢谢,但是我如何让它与内置的laravel用户身份验证及其密码(使用身份验证)一起工作呢?要在会话中存储信息,防止在每个页面上请求密码,但前提是在会话中未设置当前页面请求者在该会话中已键入密码?我已经这样做了。刚刚创建了一个新的中间件,并将其应用于路由,除了输入密码页。@zyx4sdk是的,这是个好主意,很好,它适合您。
<form method="POST" action="/login">
{!! csrf_field() !!}

<input type="password" id="fieldPassword" name="password" required>
<label for="fieldPassword" class="label">Password</label>
<?php
      Route::post('/login', 'Auth\AuthController@passwordLogin');
public function passwordLogin(Request $request){

    if($request->has('password')){
        if(Auth::attempt(['email' => 'passwordlogin@yoursite.com', 'password' => $request->input('password')])) {
            // User has the correct password
            return redirect()->('/home');
        }
    }

    // Login failed
    return redirect()->intended('/login');
}