我有一个计时器类,计划每5分钟执行一次.我想在tomcat第一次启动时启动这个计时器类.在Grails中这样做的最佳方法是什么?
谢谢.杰伊钱德兰
我已经构建了一个grails应用程序,该应用程序在登录时根据用户角色将用户重定向到不同的URL(角色域中定义的自定义角色).现在我正在尝试将Spring Security Core Grails插件集成到应用程序中,因此计划使用插件的域模型.
我理解LoginController中的auth操作执行用户登录验证,如果用户登录重定向到默认目标URI.我的问题是如何知道登录用户是否为ROLE_ADMIN或ROLE_USER类型或任何其他ROLE?如何在此处检查权限,然后重定向到不同的URI?
我还想知道用户验证是如何完成的,即如何以及在春季安全性中对数据库验证用户名和密码的位置?
谢谢.杰伊钱德兰.
在编辑页面中,我将域对象作为 JSON 对象传递,以便使用 jQuery 在客户端进行操作。
将domainClassObject渲染为JSON
当我在客户端看到响应时(例如在 firebug 中),没有“版本”属性。仅缺少“版本”,所有其他值都可用。这是什么原因以及在使用“as JSON”时我应该做什么才能将“版本”值也作为服务器响应的一部分
谢谢。杰·钱德兰.
我正在使用带有Grails的jQuery fullcalendar.我之前使用事件(作为json提要),当用户单击prev/next或更改视图时,每次调用json提要URL.
由于我还需要检查用户会话,因此我将事件(作为json提要)更改为事件(作为函数),如下所示.问题是它第一次工作,但是下次ajax请求没有被发送到服务器并且IE正在从缓存中显示.如果我清除浏览器缓存,那么它会从服务器再次获取它.
所以问题是,IE正在缓存事件对象.我能知道我做错了什么吗?奇怪的是,这在Firefox和Chrome中都会受到罚款.
//events: calendarEventsURL
events: function(start, end, callback) {
$.ajax({
url: calendarEventsURL,
data: {
start: Math.round(start.getTime() / 1000),
end: Math.round(end.getTime() / 1000)
},
success: function(msg) {
if(msg == "no-session"){
$("#wait").html(invalidSessionMsg).fadeIn('fast',function(){
$("#wait").fadeOut(2000,function(){
window.location= "/" + $("#appName").val() + "/";
});
});
} else {
var events = [];
for(var c = 0; c < msg.length; c++){
events.push({
id: msg[c].id,
title: msg[c].title,
allDay: false,
start: msg[c].start,
end: msg[c].end
});
}
callback(events);
}
} , error: function(){
$("#wait").html(errorMsg).fadeIn('fast',function(){
});
}
});
}
Run Code Online (Sandbox Code Playgroud)