小编Ale*_*nts的帖子

使用java配置在单个应用程序中的多个身份验证机制

目前我的应用程序中有一个身份验证机制,即使用LDAP进行身份验证和授权.我的安全配置如下所示

@Configuration
@EnableWebMvcSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .csrf().disable()
        .authorizeRequests()
            .anyRequest().fullyAuthenticated()
            .and()
            .httpBasic();
}

@Configuration
protected static class AuthenticationConfiguration extends GlobalAuthenticationConfigurerAdapter {

    @Value("${ldap-${env}.manager.dn}")
    private String managerDn;

    @Value("${ldap-${env}.manager.pass}")
    private String managerPass;

    @Value("${ldap-${env}.server.url}")
    private String url;

    @Value("${ldap.password.attribute:userPassword}")
    private String passwordAttr;

    @Override
    public void init(AuthenticationManagerBuilder auth) throws Exception {
        auth.ldapAuthentication().userDnPatterns("uid={0},ou=people").groupSearchBase("ou=groups")
                .groupSearchFilter("(member={0})").userSearchBase("ou=people").userSearchFilter("(uid={0})")
                .userDetailsContextMapper(new CustomLdapPersonContextMapper())
                // .passwordCompare()
                // .passwordAttribute(passwordAttr)
                // .passwordEncoder(new PlaintextPasswordEncoder())
                // .and()
                .contextSource().managerDn(managerDn).managerPassword(managerPass).url(url);
    }
}
}
Run Code Online (Sandbox Code Playgroud)

在某些情况下,用户可能会使用会话令牌进入会话令牌,该会话令牌可以从会话密钥服务器进行身份验证,并且有效令牌会返回用户名,然后可以使用该用户名从LDAP为该用户加载身份验证信息.所以我的第二个身份验证机制应该首先发生,如果http头中存在会话令牌,它应该执行令牌身份验证然后执行ldap查找,如果没有会话令牌,它应该属于当前的身份验证机制.如何添加第二层身份验证.

java spring-security spring-security-ldap

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

如何为marked.js编写自定义InlineLexer规则?

使用Marked我可以在实现过程中轻松覆盖/添加/更改词法分析器规则,它非常棒!例如,我可以强制在散列符号和文本之间使用空格来制作这样的标题:

var lexer = new marked.Lexer(options);
console.log(lexer);
lexer.rules.heading = /^\s*(#{1,6})\s+([^\n]+?) *#* *(?:\n+|$)/

console.log(marked.parser(lexer.lex('#hashtag?'), options));
//<p>#hashtag?</p>
console.log(marked.parser(lexer.lex('# heading?'), options));
//<h1 id="undefinedheading-">heading?</h1>
Run Code Online (Sandbox Code Playgroud)

凉!

但有没有办法,轻松做同样的事情inlineLexer?就像我需要让人们能够添加下一个序列的图像:%[My Image](http://example.com/img.jpg)?所以我修改了:

var inlineLexer = marked.InlineLexer;
inlineLexer.rules.link = /^[!%]{0,1}?\[((?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*)\]\(\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*\)/;
...
Run Code Online (Sandbox Code Playgroud)

接下来我该怎么办?如何将自定义inlineLexer绑定到标记的实例?请给我看一个如何做到这一点的例子!如何修改/添加自定义内联词法分析器规则?

javascript markdown lexer

10
推荐指数
1
解决办法
2241
查看次数

如何在Rust中获取struct字段名?

对于Rust的结构,是否有一些等效的JS的Object.keys()

我需要从结构字段名称生成CSV标题(我使用rust-csv).

struct Export {
    first_name: String,
    last_name: String,
    gender: String,
    date_of_birth: String,
    address: String
}

//... some code

let mut wrtr = Writer::from_file("/home/me/export.csv").unwrap().delimiter(b'\t');

wrtr.encode(/* WHAT TO WRITE HERE TO GET STRUCT NAMES as tuple of strings or somethings */).is_ok()
Run Code Online (Sandbox Code Playgroud)

reflection introspection rust

9
推荐指数
1
解决办法
4566
查看次数

Phaser JS如何从textButton.events.onInputDown事件到game.input.onDown事件停止事件传播(触发)?

这是JSFiddle.

我这里有两件事.

  1. game.input.onDown,做一些逻辑(在我的例子生成的颗粒)
  2. textButton.events.onInputDown,textButton是一个Phaser.Text对象实例,它执行另一个逻辑.

问题是:当我点击我的textButton时,两个事件都被触发12.

问题是,当我点击textButton时如何防止事件1被触发?

部分代码:

...
//This event is fired on click anywhere event # 1
game.input.onDown.add(particleBurst, this);

//This is Clickable text
textButton = game.add.text(game.world.width - 5, 5, "CLICK ME", fontStyle);
textButton.anchor.setTo(1, 0);
textButton.inputEnabled = true;

//This event is fired on click on text event # 2
textButton.events.onInputDown.add(function () {
    console.log("button is Clicked");
}, this, 2);
...
Run Code Online (Sandbox Code Playgroud)

javascript events html5-canvas phaser-framework

6
推荐指数
1
解决办法
3934
查看次数

sails.js从config中获取环境值

我使用Sails.js和默认模板引擎(EJS).我有一个直接从routes config定义的视图:

配置/ routes.js

'/': {
    view: 'homepage'
 }
Run Code Online (Sandbox Code Playgroud)

有没有办法在homepage.ejs中访问环境?我需要这样的东西:

views/homepage.ejs(下一个不起作用,所以我需要一个有效的解决方案)

...
<span>Hello you are on <%= sails.env %> environment</span>
...
Run Code Online (Sandbox Code Playgroud)

呈现为:

Hello you are on production environment
Run Code Online (Sandbox Code Playgroud)

请不要建议我为此创建控制器.

我希望有办法直接从视图或路线中的当地人那里得到它,但是如何,这就是问题.

javascript ejs node.js sails.js

6
推荐指数
1
解决办法
1807
查看次数

多对多关系连接表上的sails.js额外字段

我有两个模型:

订单.js

module.exports = {
    attributes: {
        //Id is generated by mongo and is a primary key
        address: {
            type: 'string',
            required: true,
            size: 1000
        },
        status: {
            type: 'string',
            required: true,
            size: 15,
            defaultsTo: 'pending',
            enum: ['pending', 'processing', 'cancelled']
        },
        total: {
            type: 'string',
            required: true,
            size: 50
        },
        menues: {
            collection: 'menu',
            via: 'orders',
            dominant: true
        },
        customer: {
            model: 'customer'
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

Menu.js

module.exports = {
    attributes: {
        //Id is generated by mongo
        name: { …
Run Code Online (Sandbox Code Playgroud)

mysql sql node.js sails.js waterline

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

如何运行babel.transform与Nashorn做出反应?

我试图用babel.transform而不是JSXTranformer反应.

...
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine nashorn = mgr.getEngineByName("nashorn");
nashorn.eval("var process = {env:{}}"); // node-modules expect that
nashorn.eval(getScript("com/facebook/babel/jvm-npm.js"));
babel = (JSObject) nashorn.eval("require('babel');");
...
Run Code Online (Sandbox Code Playgroud)

Babel和babel-core安装为全局节点模块,我有一个错误:

Testsuite:com.my.app.BabelTransformerTest
找不到模块./lib/api/node.js
无法加载模块babel-core LOAD_ERROR
无法加载模块babel LOAD_ERROR
无法加载模块babel-core LOAD_ERROR
无法加载模块babel LOAD_ERROR
无法找到模块./ lib/api/node.js
无法加载模块babel-core LOAD_ERROR
无法加载模块babel LOAD_ERROR

./lib/api/node.js中有C:\Users\***\AppData\Roaming\npm\node_modules

我听说有可能babel.transform从Nashorn出发吗?

也许有办法只加载某个babel模块作为JavaScript文件?

javascript node.js nashorn reactjs babeljs

4
推荐指数
1
解决办法
3156
查看次数

有没有办法使用不同的环境配置文件进行基于Ionic Framework的Cordova应用程序的开发和生产设置

就像我们在Spring Framework中有很多变体来设置编译/运行/测试时环境,并使用它来设置不同的属性文件.除了这个环境/配置文件变量之外,我们不会更改任何内容,以便能够对app进行适当的设置.

更具体地说:

我有两个文件:settings.dev.js和settings.prod.js

settings.prod.js:

var API_PATH = "http://example.com/api"
var OTHER_INPORTANT_SETTINGS = {....}
Run Code Online (Sandbox Code Playgroud)

settings.dev.js:

var API_PATH = "http://localhost.com/api"
var OTHER_INPORTANT_SETTINGS = {....}
Run Code Online (Sandbox Code Playgroud)

和一个Ionic Framework应用程序,其中服务正在使用此设置.例如

me: $resource(API_PATH + '/my/profile', {}, {...}
Run Code Online (Sandbox Code Playgroud)

在许多服务和控制器以及指令......等等......

有没有办法使用

  • 在开发过程中的settings.dev.js
  • settings.prod.js用于部署发布应用程序.

javascript cordova gruntjs hybrid-mobile-app ionic-framework

3
推荐指数
1
解决办法
3994
查看次数

Crosswalk cordova迁移:CordovaApp.java:33:错误:找不到符号loadUrl(launchUrl)

我在教学中做得非常出色:https://crosswalk-project.org/documentation/cordova/migrate_an_application.html

在成功构建xwalk_core_library和CordovaLib之后

我正在运行cordova构建android并面临错误:

[javac] Compiling 8 source files to D:\myapp\platforms\android\bin\classes
[javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release
[javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release
[javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
[javac] D:\myapp\platforms\android\src\com\in2circle\fellor\CordovaApp.java:33: error: cannot find symbol
[javac]         loadUrl(launchUrl);
[javac]                 ^
[javac]   symbol:   variable launchUrl
[javac]   location: class CordovaApp
[javac] 1 error
Run Code Online (Sandbox Code Playgroud)

Crosswalk v 9.38.208.10.

android cordova crosswalk-runtime

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

jquery在函数内部更改全局变量

var variable = "before";

change();

alert(variable);

function change(){

variable = "after";

}
Run Code Online (Sandbox Code Playgroud)

是否可以在不返回的情况下更改函数内的全局变量?我需要在通话功能change后输出"后"

javascript jquery

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