小编Ser*_*kov的帖子

检查是否已登录 - React Router App ES6

我正在使用react-router(v2.8.1)和ES6语法编写React .js应用程序(v15.3).我无法获取路由器代码来拦截页面之间的所有转换,以检查用户是否需要先登录.

我的顶级渲染方法非常简单(应用程序也很简单):

 render()
   {
      return (
         <Router history={hashHistory}>
            <Route path="/" component={AppMain}>
               <Route path="login" component={Login}/>
               <Route path="logout" component={Logout}/>
               <Route path="subject" component={SubjectPanel}/>
               <Route path="all" component={NotesPanel}/>
            </Route>
         </Router>
      );
   }
Run Code Online (Sandbox Code Playgroud)

Web上的所有示例都使用ES5代码或旧版本的react-router(早于版本2),而我对mixins(已弃用)和willTransitionTo(从未被调用)的各种尝试都失败了.

如何设置全局"拦截器功能"以强制用户在登陆他们请求的页面之前进行身份验证?

javascript authentication ecmascript-6 reactjs react-router

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

通过脚本将环境变量传递给 Pentaho Kettle 转换

我需要参数化我的水壶作业和转换中的所有变量(作业将在 AWS 中运行,所有参数都作为环境变量传入)。

我的连接、路径和作业中的各种其他参数及其伴随的转换使用 ${SOURCE_DB_PASSWORD}、${OUTPUT_DIRECTORY} 样式。

当我在数据集成 UI 中将这些设置为环境变量时,它们都可以在 UI 工具中正常工作并且作业运行成功。当我从 bash 脚本运行它们时:

#!/bin/sh
export SOURCE_DB_HOST=services.db.dev
export SOURCE_DB_PORT=3306

kitchen.sh -param:SOURCE_DB_PORT=$SOURCE_DB_PORT -param:SOURCE_DB_HOST=$SOURCE_DB_HOST -file MY_JOB.kjb
Run Code Online (Sandbox Code Playgroud)

作业及其调用的转换不会获取变量。错误是:

Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "${SOURCE_DB_PORT}"'
Run Code Online (Sandbox Code Playgroud)

因此,在不使用 jndi 文件或 Kettle.properties 的情况下,我需要某种方法将环境变量映射到 PDI 作业和转换中的参数/变量

[Mac OS X 10.13 上的 PDI 版本 8.1]

pentaho kettle pentaho-spoon pentaho-data-integration

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