小编Guf*_*san的帖子

Laravel护照给出了401 Unauthenticated错误

我正在使用laravel passport进行API身份验证,当我将它与一个数据库一起使用时,它可以正常工作,但401在使用多个数据库时会提供,

我在做什么:

  • 我有一个多租户数据库,主数据库有用户,角色和所有oauth表.
  • 当我创建具有管理员角色的用户时,它将创建具有管理员名称的新数据库,它将创建包含用户,角色和所有oauth表的子数据库.oauth_clients子分贝将从主数据库复制密码同意令牌和个人访问令牌和子数据库中插入,也插入client_idoauth_personal_access_clients.
  • 我正在做所有passport:install命令的程序.(如果我没有遗漏某些东西).

  • 当我从主DB它完美的凭据登录,真正的问题,当我与子数据库凭据登录开始,我可以从PARAM获得子DB client_code与I输入email,password同时登录.

  • 它允许我从子数据库登录但我得到401 Unauthenticated 错误,登录时获取访问令牌,我从前面登录后通过每个请求传递AuthenticationHeader .BearerAngular

  • 不知道我在这里缺少什么.

DBConnection中间件

DBConnection中间件在登录后为每个请求设置连接,

public function handle($request, Closure $next)
    {
        if ( $request->method() != 'OPTIONS' ) {            
            $this->access_code = $request->header('access-code'); 
            if ( $this->access_code != '' && $this->access_code != 'sa'  ) {
                app('App\Http\Controllers\Controller')->setDB(AppHelper::DB_PREFIX.$this->access_code);
            } else {
                app('App\Http\Controllers\Controller')->setDB(AppHelper::DB_DEFAULT);
            }
        }
        return $next($request);
    }
Run Code Online (Sandbox Code Playgroud)

DBConnectiondatabase.php动态设置默认数据库,因为我正在调用setDB创建的方法Controller.php

setDB …

php laravel laravel-passport

29
推荐指数
1
解决办法
1761
查看次数

如何从PHP中的两个不同数组中获取公共值

我有两个带有一些用户ID的数组

$array1 = array("5","26","38","42");

$array2 = array("15","36","38","42");
Run Code Online (Sandbox Code Playgroud)

我需要的是,我需要数组中的常用值,如下所示

$array3 = array(0=>"38", 1=>"42");
Run Code Online (Sandbox Code Playgroud)

我试过了array_intersect().我想得到一个最少执行时间的方法.请帮帮我的朋友.

php arrays

13
推荐指数
1
解决办法
2万
查看次数

如何从两个数组创建一个关联数组?

我有两个数组,一个用于键,另一个用于值。值数组是一个数组数组。

键数组:

$keyArray = array("clientId","clientName","clientAdsress","clientPhone");
Run Code Online (Sandbox Code Playgroud)

值数组:

$valuesArray = array(
                "0"=>array("1001","aaaaa","ddddddd","22222222"),
                "1"=>array("1002","bbbbbb","ddddddd","11111111"),
                "2"=>array("1003","ccccc","ddddddd","33333333")
              );
Run Code Online (Sandbox Code Playgroud)

预期产量:

$finalData = array(
                    "clientId"=>array("1001","1002","1003"),
                    "clientName"=>array("aaaaa","bbbbbb","ccccc"),
                    "clientAdsress"=>array("ddddddd","ddddddd","ddddddd"),
                    "clientPhone"=>array("22222222","11111111","33333333")
                  );
Run Code Online (Sandbox Code Playgroud)

我已经试过这段代码:

$finalData = array();
for($i=0;$i<count($keyArray);$i++){

    for($j=0;$j<count($valuesArray);$j++){
        $rowArray = $valuesArray[$j];
       $finalData[$keyArray[$i]] = array($rowArray[$i]);
    }
}

echo '<pre>';print_r($finalData);echo '</pre>';
Run Code Online (Sandbox Code Playgroud)

输出:

Array
(
    [clientId] => Array
        (
            [0] => 1003
        )

    [clientName] => Array
        (
            [0] => ccccc
        )

    [clientAdsress] => Array
        (
            [0] => ddddddd
        )

    [clientPhone] => Array
        (
            [0] => 33333333
        )

)
Run Code Online (Sandbox Code Playgroud)

我正在获取数组的最后一个值。如何获得预期的输出?

php arrays

12
推荐指数
3
解决办法
1545
查看次数

Wordpress添加自定义角色以及删除默认角色

我需要自定义默认角色,因为我只需要3个角色 - 管理员,买家,卖家.然后我需要添加买家,卖家并删除所有其他默认角色.我该怎么办?如果有任何现成的代码我可以粘贴,它会工作吗?

wordpress roles

8
推荐指数
1
解决办法
9364
查看次数

php ldap search:没有这样的对象


我是ldap的新手所以我会尝试正确解释
我有一个主机名"energia.sise"
我需要让所有位于energia.sise/nej/users的用户
你能建议我怎么做吗?

在这段代码中,我试图根据我的电子邮件获取我的记录,但它出现错误
警告:ldap_search():搜索:没有这样的对象

     $base_dn ="OU=users, OU=nej, DC=energia, DC=sise";
     $ds = ldap_connect("energia.sise") or die("?????????? ??????????? ? $ldaphost");

     ldap_bind($ds, "login@energia", "password");

     $filter = '(&(objectClass=user)(CN=*)(mail=kosmos*))';

     $sr = ldap_search($ds, $base_dn, $filter);
     $info = ldap_get_entries($ds, $sr);
Run Code Online (Sandbox Code Playgroud)

php ldap active-directory

8
推荐指数
2
解决办法
2万
查看次数

使用自己的API时防止无限的AJAX循环

我目前正在尝试找出2个Wordpress插件之间的集成:WooCommerce跟进电子邮件插件和Ninja Forms插件(最终目标是我们可以发送手动类型的后续电子邮件模板作为响应忍者表单的操作提交).我们正在使用Ninja Forms 3,它的价值.

在为Action类定义选项时,我向用户提供了模板列表,以便在定义操作时可以选择要发送的模板.要从后续电子邮件插件中获取电子邮件模板,我正在使用他们的API客户端,特别是该get_emails()方法(反过来,它转换为/emails在其API URL下对端点的GET调用).

问题是:在每个页面加载时ninja_forms_register_actions调用该操作,在此期间我实例化我的操作类.在__construct通话期间,我们会填充操作的设置,为此,我们会调用Follow Up Emails API.这会启动页面加载,在此期间ninja_forms_register_actions会调用操作...

虽然我确实预料到了这个问题,但我计划的解决方案并没有帮助:也就是说,我曾计划使用瞬态来存储API调用的结果,如下所示:

private static function _get_templates()
    {
        error_log('_get_templates() started - ' . microtime(true));
        if (false === ($templates = get_transient(self::TEMPLATE_TRANSIENT))) {
            error_log('_get_templates() fetching - ' . microtime(true));
            $fue_api = self::fue_api();
            $templates = $fue_api->get_emails();
            set_transient(self::TEMPLATE_TRANSIENT, $templates, self::TEMPLATE_TRANSIENT_EXPIRY);
            error_log('_get_templates() fetched - ' . microtime(true));
        }
        error_log('_get_templates() done - ' . microtime(true));

        return $templates;
    }
Run Code Online (Sandbox Code Playgroud)

但是我的日志中的结果如下:

[22-May-2016 23:53:33 UTC] _get_templates() started …
Run Code Online (Sandbox Code Playgroud)

php ajax wordpress ninja-forms

8
推荐指数
1
解决办法
194
查看次数

Laravel事件监听器和缓存无法正常工作

在Laravel上开发应用程序时,我遇到了一些困难.我想使用Event和Listener来删除和重建对象的缓存.这是代码:

应用程序\活动\ CampaignEvent.php

namespace App\Events;

use Illuminate\Queue\SerializesModels;

class CampaignEvent extends Event
{
    use SerializesModels;
    public $user_id;
    public $cache_keys;

    /**
     * Create a new event instance.
     *
     * @return void
     */
    public function __construct($user_id, $cache_keys)
    {
        $this->user_id = $user_id;
        $this->cache_keys = $cache_keys;
    }
}
Run Code Online (Sandbox Code Playgroud)

应用程序\ Listenters\CampaignListener.php

<?php

namespace App\Listeners;

use App\Events\CampaignEvent;
use Cache;
use Log;
use App\BrandCampaign;

class CampaignListener
{

    /**
     * Handle the event.
     *
     * @param  CampaignEvent  $event
     * @return void
     */
    public function handle(CampaignEvent $event)
    {
        /**
         * …
Run Code Online (Sandbox Code Playgroud)

php caching laravel laravel-5 laravel-events

8
推荐指数
1
解决办法
791
查看次数

在wordpress中启用CORS

我正在尝试在wordpress中启用CORS,并且我将这行代码放在我的header.php文件中

header.php

然后我通过这个页面http://client.cors-api.appspot.com/client测试它是否有效

我得到的回应是:

Fired XHR event: loadstart
Fired XHR event: readystatechange
Fired XHR event: error

XHR status: 0
XHR status text: 
Fired XHR event: loadend
Run Code Online (Sandbox Code Playgroud)

我不确定我在这里做错了什么,有人能帮帮我吗?

谢谢

wordpress cross-domain cors

5
推荐指数
1
解决办法
2309
查看次数

wordpress qtranslate如何与javascript一起使用?

我在WordPress中使用插件qTranslate更改为网站的语言。现在,我有了一个带有一些输入字段的表单。每个输入都有通过Java验证的输入数据。当出现错误时,当然会显示该消息。默认情况下,我的语言是英语。现在我要添加日语。

例如:

“您的必填字段” <=英文

"????????????" <= Japanese
Run Code Online (Sandbox Code Playgroud)

该消息由Javascript控制。我尝试了[en:]和[ja:]或<-!en:->和<-!ja:->,但未成功。

所以我的问题是:如何使用qTranslate插件控制Java语言中的语言?

谢谢大家!

更新:

我找到了获取Java语言的方法。当我们更改语言时,HTML标记将更改lang="en"hay 属性lang="ja"。基本上,我用

document.documentElement.lang=="en-US"
Run Code Online (Sandbox Code Playgroud)

这将获得当前的语言,并且您的工作将被置于if条件中。

if(document.documentElement.lang=="en-US"){}
Run Code Online (Sandbox Code Playgroud)

希望对您有所帮助。感谢所有对此进行审查。

javascript php wordpress jquery qtranslate

5
推荐指数
0
解决办法
884
查看次数

WordPress:登录后启动功能以检查用户是否为订户

我正在使用Wordpress开发应用程序。我想在使用Twitch TV使用OAuth登录后检查用户是否是分配角色的频道的订户。我认为可以使用Twitch API与用户调用对象,然后检查该用户是否为具有另一个GET的脚本,但是如果我打印$ twitchuser且$ suscript为无效,则可以完成此操作。我是PHP新手,您知道错误在哪里,或者是否有其他解决方法?我的函数包含在wp-includes/user.php文件末尾:

function your_function() {
// Check if the user is Twitch suscriptor

 if ( !is_super_admin() ) {
    $twitchuser = $_GET["https://api.twitch.tv/kraken/user"];
    $twitchname = $twitchuser['name'];

    $suscript = $_GET["https://api.twitch.tv/kraken/channels/mychannel/subscriptions/{$twitchname}"];

    if ($suscript == "404 Not Found") {
        $current_user = wp_get_current_user();
        // Remove role
        $u->remove_role( 'subscriber' );
        // Add role
        $u->add_role( 'nomember' );
    }
 }
}
add_action('wp_login', 'your_function');
Run Code Online (Sandbox Code Playgroud)

php wordpress twitch

5
推荐指数
0
解决办法
421
查看次数