我有一堆对象数组,我想使用过滤器获取特定对象,但我使用下面的代码得到了数组.
const target = [{
name: 'abc',
id: 1
}, {
name: 'def',
id: 2
}]
const x = target.filter(o => o.id === 1)
console.log(x)Run Code Online (Sandbox Code Playgroud)
Grails 2.2.0
我正在尝试创建自定义约束以强制用户只有一个主电子邮件.以下是导致错误的简化代码:
用户域类
class User {
static hasMany = [emails: Email]
static constraints = {
}
}
Run Code Online (Sandbox Code Playgroud)
电子邮件域类
class Email {
static belongsTo = [user: User]
String emailAddress
Boolean isMaster
static constraints = {
emailAddress unique: ['user']
isMaster validator: { val, obj ->
return !val || Email.findByUserAndIsMaster(obj.user, true) == null
}
}
}
Run Code Online (Sandbox Code Playgroud)
整合测试
class EmailTests {
@Before
void setUp() {
}
@After
void tearDown() {
// Tear down logic here
}
@Test
void testSomething() {
def john = …Run Code Online (Sandbox Code Playgroud) 这个问题已在Stack Overflow问题中得到解答,但它并不是Grails特有的,也有点模糊.
我使用Spring Security设置我的Grails应用程序,但显然没有获得最新版本,因为它默认为SHA-256而不是bcrypt.现在我的生产数据带有密码哈希,这似乎是一种不太理想的方法.
启用 bcrypt哈希是一块蛋糕:
Config.groovy > grails.plugins.springsecurity.password.algorithm = 'bcrypt'
Run Code Online (Sandbox Code Playgroud)
但现在我需要应用程序将旧哈希转换为新哈希.从根本上说,我了解当用户登录时,我应该让应用程序检查密码是否为SHA-256哈希值,如果是,则使用bcrypt重新哈希输入的密码.过了一会儿,他们都会升级,代码可以删除.
但是,确定密码哈希值是来自SHA-256还是bcrypt的实际代码是什么?
编辑
也就是说,我调用哈希的实际函数是什么?如何bcrypt(incomingpassword)查看它是否与现有密码哈希匹配?
在Angualr中看到这些代码是很常见的:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app',
template: '<div *ngFor="let item of data"></div>'
})
export class App {
// we define variable here
data = [1, 2];
tempData = [3, 4]; //temporary data, not involved in view rendering
}
Run Code Online (Sandbox Code Playgroud)
正如我们所看到的,临时变量不会涉及视图渲染,但临时变量对于我们的应用程序在临时存储数据的使用中也是必需的.
这样写的怎么样:
import { Component, OnInit } from '@angular/core';
const tempData = [3, 4]; //temporary data, not involved in view rendering
@Component({
selector: 'app',
template: '<div *ngFor="let item of data"></div>'
})
export class App {
// we …Run Code Online (Sandbox Code Playgroud) grails ×2
javascript ×2
angular ×1
bcrypt ×1
constraints ×1
ecmascript-6 ×1
grails-2.2 ×1
hibernate ×1
jbcrypt ×1
reactjs ×1
typescript ×1