我正在尝试为具有相同代码库但样式发生变化的不同站点构建reactjs应用程序,而组件变化很少(不同站点的不同组件用于相同的工作[相同名称])
当我构建传递参数 CLIENT=site1 的应用程序时,它应该从具有相应站点文件的公共文件中获取文件(css、组件等)并构建一个;如果 CLIENT=site2 那么它将对其文件执行此操作。文件夹结构就像
node_modules
public
\--index.html
src
|--resource
| |--common
| | |--img
| | \--styles
| |--site1
| | |--img
| | \--styles
| \--Login.js
| \--site2
| |--img
| \--styles
| \--Login.js
|--App.js
\--index.js
package.json
Run Code Online (Sandbox Code Playgroud)
我尝试使用customize-cra但似乎没有运气。尝试测试config-overrides.js
const path = require('path');
const { addWebpackAlias, override } = require('customize-cra')
const resolveApp = relativePath => path.resolve(__dirname, relativePath)
module.exports = override()(
addWebpackAlias({
'@': path.resolve(__dirname, './src/'),
"@a": path.resolve(__dirname, `./src/resource/${process.env.CLIENT}`),
}),
);
"scripts": {
"start:build1": "set CLIENT=site1 && …Run Code Online (Sandbox Code Playgroud) 我在 kubernetes 中部署了一些服务,并使用 NGINX 入口访问外部。(使用 EC2 实例进行所有集群设置)。能够通过与入口绑定的主机访问服务。现在,我不是直接访问 svc,而是尝试在访问服务之前添加身份验证。并重定向到登录页面,用户输入凭据并应重定向到所询问的页面。到目前为止尝试了以下代码 snipet II。请指导寻找解决方案。
我的入口.yml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
namespace: mynamespace
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/affinity: cookie
nginx.ingress.kubernetes.io/session-cookie-name: JSESSIONID
nginx.ingress.kubernetes.io/ssl-passthrough: "false"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
kubernetes.io/ingress.class: "nginx"
kubernetes.io/ingress.allow-http: "false"
nginx.ingress.kubernetes.io/auth-signin: "https://auth.mysite.domain/api/auth/login" #will show login page
nginx.ingress.kubernetes.io/auth-url: "https://auth.mysite.domain/api/auth/token/validate"
nginx.ingress.kubernetes.io/auth-response-headers: "authorization"
spec:
tls:
- hosts:
- mysite.domain
#secretName: ${TLS_TOKEN_NAME}
rules:
- host: a.mysite.domain
http:
paths:
- path: /
backend:
serviceName: myservice1
servicePort: 9090
Run Code Online (Sandbox Code Playgroud)
所以首先它会调用“/token/validate”并且将被未经授权然后进入“auth/login”并且登录页面将在输入进入“/token/validate”的凭据并再次登录页面后显示。实际上应该重定向到被调用的页面。
如何实现这一点?[如果成功认证后,如果我们可以在被调用的 ling 中添加标题我认为可以解决但不确定如何]
后端:Java Spring
@RequestMapping("login")
public String login() { …Run Code Online (Sandbox Code Playgroud) oauth spring-boot kubernetes kubernetes-ingress nginx-ingress
我将日期信息作为数字以毫秒为单位.我能够正确地解析它.但是当我改变我的电脑时区时,解析的时间也会改变.我只想要一个特定的时区.
EX.
Time in millisec: 1461645900000
Actual Parsed: 26-Apr-2016 10:15:00 IST
Run Code Online (Sandbox Code Playgroud)
当pc时区改变时,它变为: Tue Apr 26 2016 14:15:00 GMT+0930 (Local Standard Time)
在这里,我只想要实际时间.怎么弄?
这是我的小尝试:
function parseDateTime(dt, format) {
var months = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug",
"Sep", "Oct", "Nov", "Dec" ];
var ret = "";
if (dt) {
var day="",month="",year="",hour="",mins="",secs="";
var d = new Date(dt)
var os=d.getTimezoneOffset();
if(os<0){
}
ret += d.getDate() + "-" + months[parseInt(d.getMonth())] + "-"
+ d.getFullYear() + " " + leftPad(d.getHours(), 2, "0") …Run Code Online (Sandbox Code Playgroud) 我有String s="abc";
加密字符串显示:ðá£ÅÉûË¿~?‰+×µÚ
和解密相同的值.
但是现在我有相同的加密字符串ðá£ÅÉûË¿~?‰+×µÚ,我可以获得/解密它吗?下面我正在使用的代码.
String key = "Bar12345Bar12345"; // 128 bit key
// Create key and cipher
Key aesKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
// encrypt the text
cipher.init(Cipher.ENCRYPT_MODE, aesKey);
byte[] encrypted = cipher.doFinal(text.getBytes());
String e=new String(encrypted);
byte[] encrypted1 = cipher.doFinal(e.getBytes());
System.out.println(encrypted.length+" "+encrypted1.length);
System.out.println(e);
// decrypt the text
cipher.init(Cipher.DECRYPT_MODE, aesKey);
String decrypted = new String(cipher.doFinal(encrypted));
System.out.println(decrypted);
Run Code Online (Sandbox Code Playgroud) date ×1
datetime ×1
encryption ×1
java ×1
javascript ×1
kubernetes ×1
oauth ×1
react-native ×1
react-redux ×1
react-router ×1
reactjs ×1
spring-boot ×1