我的网络应用程序使用Spring Security插件进行身份验证和授权.我正在构建一种API,我需要验证用户密码.
Spring Security配置为使用带有5个loground和BC username属性的BCrypt 作为salt:
grails.plugins.springsecurity.password.algorithm = 'brcypt'
grails.plugins.springsecurity.password.bcrypt.logrounds = 5
grails.plugins.springsecurity.dao.reflectionSaltSourceProperty = 'username' // password salting
Run Code Online (Sandbox Code Playgroud)
现在,在我的控制器中,我想验证用户密码和登录.为此,我打电话springSecurityService.encodePassword(cmd.password, cmd.username)
cmd命令对象在哪里与我的参数.问题是,在每个请求中,编码的密码springSecurityService是不同的,并且与数据库中的用户密码不同.我也尝试在encodePassword调用中使用常量值,类似于:
springSecurityService.encodePassword('foo', 'bar')结果是相同的:在每个请求上编码的密码是不同的.这样我无法验证用户密码并从数据库获取有效的用户实例.
任何想法如何解决这个问题?
我有一个RPC服务,其中一种方法是使用Pentaho Reporting Engine生成报告.报告是PDF文件.我想做的是,当用户请求报告时,报告会发回给他并保存对话框或者弹出.我在我的服务方法中尝试了这个:
Resource res = manager.createDirectly(new URL(reportUrl), MasterReport.class);
MasterReport report = (MasterReport) res.getResource();
report.getParameterValues().put("journalName", "FooBar");
this.getThreadLocalResponse().setContentType("application/pdf");
PdfReportUtil.createPDF(report, this.getThreadLocalResponse().getOutputStream());
Run Code Online (Sandbox Code Playgroud)
但它不起作用.怎么做?
我通过jQuery和jQuery-ui插件在我的项目中使用jQuery.我有一个简单的表单,我想在Ajax调用控制器中提交.问题是,当我放置<g:submitToRemote />标签然后单击它时,firebug会显示错误Ajax is not defined.我能做些什么才能让它发挥作用?
如何使我的模型类字段独一无二?例如.如果已经登录,我想为用户显示正确的消息.我必须编写自己的验证检查并使用它,或者@UniqueConstraint可以使用JPA 吗?
我正在学习Grails的Grails - 由Jason Rudolph的书开始.我的域类看起来像这样:
class Race {
String name;
Date startDateTime
String city
String state
Float distance
Float cost
Integer maxRunners = 10000
static hasMany = [registrations: Registration]
static constraints = {
name(maxSize: 50, blank: false)
startDateTime(validator: {
return it > new Date()
})
city(maxSize: 30, blank: false)
state(inList: ['GA', 'NC', 'SC', 'VA'], blank: false)
distance(min: 3.1f, max: 100f)
cost(min: 0f, max: 999.99f)
}
String toString() { "${this.name} : ${this.city}, ${this.state}" }
}
Run Code Online (Sandbox Code Playgroud)
我想测试startDateTime字段的自定义验证.测试看起来像这样:
class RaceTests extends GrailsUnitTestCase {
protected …Run Code Online (Sandbox Code Playgroud) 我有一个类(例如Foo)它覆盖 ToString 方法来打印它的内部状态。这个类有一个集合Foo- 它是子元素。孩子也可以生孩子等等。
我正在寻找在 ToString() 中实现的解决方案,它会自动缩进子元素,例如:
Parent Foo
Child1 Foo
Child1.1 Foo
Child2 Foo
Child2.1 Foo
Child2.2 Foo
Run Code Online (Sandbox Code Playgroud) grails ×3
ajax ×1
c# ×1
collections ×1
download ×1
gwt ×1
java ×1
jquery ×1
parent-child ×1
passwords ×1
pdf ×1
pentaho ×1
salt ×1
tostring ×1
validation ×1