小编Ada*_*lle的帖子

WordPress登录redirect_to无效

我正在使用WordPress 3.7.1开发一个网站,并尝试在登录时通过redirect_to URL参数重定向用户.

我已经验证登录表单后端看到redirect_to GET参数,并且登录提交包含redirect_to POST值...但那些东西不起作用.

删除了链接和用户凭据

登录后(对于我的Admin acct和本帖中提供的订阅者帐户),用户将被带到WP仪表板而不是redirect_to参数中的URL.

我确实设置了allowed_redirect_hosts,并在自定义插件文件中使用以下代码(这就是这个).

add_filter( 'allowed_redirect_hosts' , 'glue_allowed_redirect_hosts' , 10 );
function glue_allowed_redirect_hosts($content){
    $content[] = 'app.realestategradschool.com';
    $content[] = 'dev-app.realestategradschool.com';
    $content[] = 'app.realestategradschool.local';
    return $content;
}
Run Code Online (Sandbox Code Playgroud)

我已经禁用了所有其他插件,试图对此进行故障排除.

编辑:我不能使用login_redirect,因为我不打算重定向所有登录...只有当访问者从其他站点发送到登录页面时(使用oAuth将其登录... oAuth工作...只是没有重定向)

编辑:工作解决方案:

function glue_login_redirect($redirect_to,$request='',$user=null){
    //using $_REQUEST because when the login form is submitted the value is in the POST
    if(isset($_REQUEST['redirect_to'])){
        $redirect_to = $_REQUEST['redirect_to'];
    }
    return $redirect_to;
}
add_filter('login_redirect','glue_login_redirect',999);
Run Code Online (Sandbox Code Playgroud)

php wordpress redirect wordpress-plugin

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

跨多个租户查询表(相同的表名)

我有一个系统,其中有一个未知数量的租户(同一数据库服务器上的不同数据库实例).我有一个工作代码,用户登录并选择了正确的租户,我可以读取该租户的配置表.

我希望应用程序在开始时循环遍历所有租户,阅读配置并对其进行操作.在迁移到Spring Data JPA(由hibernate支持)之前,这很简单,因为我分别连接到每个数据库实例.

我不认为我可以使用Spring @Transactional,因为它只设置一个连接.

我希望使用与同一个bean相同的存储库接口,因为当我只需要一次命中一个租户时,这可以工作.

我确实有一个class MultiTenantConnectionProviderImpl extends AbstractDataSourceBasedMultiTenantConnectionProviderImpl给我一个给定租户的dataSource,但我不确定如何在@Service类的方法中使用它?

java hibernate multi-tenant spring-data-jpa

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

LocalDateTime.of 返回 null

我正在尝试对使用java.time.LocalDateTime. 我能够让模拟工作,但是当我增加时间(分钟或天)时,我最终会得到一个null值。

@RunWith(PowerMockRunner.class)
@PrepareForTest({ LocalDateTime.class })
public class LocalDateTimeMockTest
{
    @Test
    public void shouldCorrectlyCalculateTimeout()
    {
        // arrange
        PowerMockito.mockStatic(LocalDateTime.class);
        LocalDateTime fixedPointInTime = LocalDateTime.of(2017, 9, 11, 21, 28, 47);
        BDDMockito.given(LocalDateTime.now()).willReturn(fixedPointInTime);

        // act
        LocalDateTime fixedTomorrow = LocalDateTime.now().plusDays(1); //shouldn't this have a NPE?

        // assert
        Assert.assertTrue(LocalDateTime.now() == fixedPointInTime); //Edit - both are Null
        Assert.assertNotNull(fixedTomorrow); //Test fails here
        Assert.assertEquals(12, fixedTomorrow.getDayOfMonth());
    }
}
Run Code Online (Sandbox Code Playgroud)

我明白(我想我明白)这LocalDateTime是不可变的,我认为我应该得到一个新实例而不是null值。

原来是.of方法给了我一个null价值。为什么?

java datetime mockito java-time powermockito

-1
推荐指数
1
解决办法
2382
查看次数