sclswin

1032 经验值

client发送用户帐号密码请求

//post
user(){ 
    if(Auth:once($request->all())){
         //验证成功
    }
}

api请求的结果却是提示once方法不存在。
将user()配置一个get路由
直接用路由访问
http://domain/user?email=aaa@aa.com&password=111
如果用这种方法请求验证正常,唯独api请求会提示once方法不存在。很奇 怪

官方的代码获取到的也是一样的

跟踪代码出现不同结果的控制器里取cookie都是在Symfony\Component\HttpFoundation\ParameterBag这个实例对像中取的 但是打印这个实例的时候在不同的控制器中显示的确是有的是密码了的 有的确是没有解密的。不知道问题在哪儿。会是哪儿有配置属性是否解密?

试了还是报同样的错,好怪,就是一个方法中返回了
return Cookie::get($_cookie);
就这样写的其他啥都没有。
就导致了这个错误

这个错误会是什么原因?没有获取到app 配置文件里的key?

Admin类里有一个方法getCookie 返回的就是解密后的cookie,控制器里Admin:getcookie() .
Use Cookie 这样写没区别吧。

昨天睡觉前遇到一个很奇特的问题。

有一个类Admin做了facades 其中有一段代码

use Illuminate\Support\Facades\Cookie;
$rs = Cookie::get('cookie_key');

就是这一段代码 我当时用在了不同的Controller 当时出现的情况就是所有控制器获取到的$rs都是已经解密了的,但是有一个控制器获取到的$rs却是没有解密的,反复试了几次都是同样的问题。
错误提示:
DecryptException in Encrypter.php line 180:
The payload is invalid.
当时觉得好奇 怪,因为昨天太迟了就没有用心去查原因。
请问一下这种情况是什么原因造成的?有遇到过的么?

框架自带的会员注册方法,我改了一下,让第二条语句出错。

protected function create(array $data)
    {

        //DB::transaction(function () use ($data) {
        
            DB::beginTransaction();
            try {
                DB::table('users')->insert([
                    'name' => $data['name'],
                    'email' => $data['email'],
                    'password' => bcrypt($data['password']),
                ]);
                DB::table('user_info')->insert([
                    'uid' => 22,
                ]);
            }catch(\Exception $e){
                DB::rollback();
                throw $e;
            }
        //});
    }

我改成这样子了 但是事务没有回滚,直接抛了异常,提示字段类型不符。uid我设的字符串类型
users表记录还是插入了。什么原因呢
有指定模型主键 但是没有做表字段约束

找到原因了。当我没问过。。。