我的任务是为客户构建一个外部API。在不泄露任何业务数据的情况下,数据库由我们的整个工作流组成。事件的产生,相关的门票和其他信息,所有的区别,由客户。
我想用非常简单的端点构建一个api。例如,对于每个表,例如票证,我希望有两个端点:
/tickets #will return a list of tickets and general information
/ticket/<ticket_id> #More detailed information about the specific ticket
对于任何进行身份验证的客户,这些路由只返回它们关联的那些
我用的是laravel 5.8和"laracasts/flash": "^3.0"
在我的应用程序中,除了这段非常具体的代码之外,所有重定向和闪存消息都运行良好。
/* Controller */
public function show( Test $test) {
$test->checkPermission();
...
}
/* Model */
public function checkPermission()
{
flash()->warning('You can not have access to
我通过一个restful来验证我的身份验证,如果它成功的话,它会给我用户名,然后我会尝试登录到我的Laravel应用程序。当我完成登录时,它看起来很有效。然而,它似乎没有保持会话,因为我在网站上导航,我仍然是作为一个客人认证。
public function login(){
// I do a guzzle request that gives me the value of $response['username']
$Username = $response['username'];
$user = User::where('
我在不同的目录下有两个项目。第一个是我的Angular应用程序,第二个是Laravel 5.5后端。我已经创建了一个API,我想在我的Angular应用程序中调用它。当我尝试在Angular中获取API时,我得到了这样的响应:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote
resource at http://localhost/. (Reason: CORS header ‘Access-Control-Allow-
Origin’ missing).
这两个项目都是本地的
当我想通过中间件将数据传递到视图以计算用户数量时,我遇到了问题。当不使用中间件时,来自控制器的变量到达视图。
我的HomeController.php
public function index()
{
$count = User::count();
return view('admin.Dashboard', compact($count);
}
我的中间件
public function handle(Request $request, Closure $next)
{
if ($request-&
对于我的应用程序,我有多个用户角色和自定义维护模式。如果站点处于维护模式,那么取决于用户的角色将限制他们对某些页面的访问。
因此,当“正常”用户访问论坛时,他们应该看到一个不同的视图,说明站点处于维护模式;而当"admin“用户访问论坛时,他们应该能够看到论坛。
public function handle($request, Closure $next) {
if(Auth::user()->role->maintenance_mode != 1) {
// They do not have access during maintenance m
我想在用户模型中添加额外的中间件。User表具有行“approved”,这是布尔值(默认为false)。因此,当用户登录时-中间件应该检查“批准”是否等于true。如果没有,请重定向到错误页。到目前为止我得到的是:
<?php
namespace App\Http\Middleware;
use Closure;
use Auth;
class ConfirmedMiddleware
{
public function handle($request, Closure $next, $guard = null)
{
if(Auth::user()-&
在我的Laravel项目中,有两种类型的定制中间件:
那些检查特定用户类型(家教或学生)是否登录的人。
那些检查当前用户权限的用户。
现在,我需要结合这两个中间件来检查,例如,家教是否登录,以及家教是否有进入类的权限。
我的路由/web.php如下所示:
// check tutor authentication
Route::group('middleware' => ['auth:tutor']], function(){
// Display routes that are enabled for all tutors l