我目前正在使用Grails和Spring Security插件,并尝试实现密码到期工作流程.我按预期配置了插件:
grails.plugins.springsecurity.failureHandler.exceptionMappings = [
'org.springframework.security.authentication.CredentialsExpiredException': '/login/passwordExpired'
]
Run Code Online (Sandbox Code Playgroud)
在我的密码中,如果我打电话给我:
def username = session['SPRING_SECURITY_LAST_USERNAME']
Run Code Online (Sandbox Code Playgroud)
然后在用户名中,HTML特殊字符将被转义为
my_user => my_user
my-user => my-user
Run Code Online (Sandbox Code Playgroud)
是否可以关闭这个逃脱?
仅限Ritesh这里提到spring_security_last_username该SPRING_SECURITY_LAST_USERNAME被弃用,因此我可以使用什么呢?
如有任何帮助,请提前感谢!
我想在web.xml中添加一个节点.
我尝试使用webxml grails插件,但看起来它无法管理节点.任何帮助或示例将是apreciated ...
我正在尝试使用我的SES凭据设置Mail插件,但我显然遗漏了一些东西,因为我一直收到此错误:
Class: javax.mail.NoSuchProviderException
Message: No provider for aws
Run Code Online (Sandbox Code Playgroud)
我在Config.groovy中添加了以下内容:
grails {
mail {
host = "email-smtp.us-east-1.amazonaws.com"
port = 465
username = "XXXXXXXXX"
password = "YYYYYYYYY"
props = [
'mail.transport.protocol': 'aws',
'mail.aws.class': 'com.amazonaws.services.simpleemail.AWSJavaMailTransport',
'mail.aws.user': 'WWWWWWWWWWWW',
'mail.aws.password': 'ZZZZZZZZZZZ'
]
}
}
Run Code Online (Sandbox Code Playgroud)
我一直在浏览所有可能的教程,其中一半是从SES不支持SMTP的时候开始的,这就是为什么我有来自maven repo的类引用.
有谁知道我怎么配置这个?
grails grails-plugin amazon-web-services amazon-ses grails-2.0
我尝试使用Grails的最新石英插件:quartz:1.0.1.
如果我离开jdbcStore = false,它会工作,如果我设置为true则失败.QuartzConfig.groovy:
quartz {
autoStartup = true
jdbcStore = true
waitForJobsToCompleteOnShutdown = true
exposeSchedulerInRepository = false
props {
scheduler.skipUpdateCheck = true
}
}
Run Code Online (Sandbox Code Playgroud)
这是属性文件:
org.quartz.scheduler.instanceName reporting_test
org.quartz.scheduler.instanceId AUTO
org.quartz.threadPool.class org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount 5
org.quartz.threadPool.threadPriority 5
org.quartz.jobStore.misfireThreshold 60000
org.quartz.jobStore.class org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.useProperties false
org.quartz.jobStore.tablePrefix QRTZ_
org.quartz.jobStore.isClustered true
org.quartz.jobStore.clusterCheckinInterval 5000
org.quartz.plugin.shutdownhook.class org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown true
Run Code Online (Sandbox Code Playgroud)
我一直试图尝试数据源设置,因为我更喜欢使用我在Datasource.groovy中设置的默认DS.无论数据源的设置如何,我仍然会在启动时收到以下错误消息.
2013-12-18 13:43:14,693 [localhost-startStop-1] ERROR context.GrailsContextLoader - Error initializing the application: org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: Line 1: FOR UPDATE clause allowed only for DECLARE …Run Code Online (Sandbox Code Playgroud) 所以,在我们的grails项目中,我们使用的是twitter-bootstrap:3.1.1插件.直到现在还没有看到任何重大问题.
在layouts/main.gsp我们的网站上添加了一个很棒的导航栏.唯一的问题是我们不希望打印页面时打印.在2.3.2多个案例中,我们只需添加类来隐藏元素.如下所示,hidden-print将添加到外部元素中.打印时,页面仍包含标记为隐藏的项目.
作为测试,我决定将其放在应用程序中的其他随机元素上,并且在所有点上它似乎忽略了无打印请求.
<div class="navbar navbar-default hidden-print" role="navigation">
<div class="navbar-header">
<g:link class="navbar-brand" uri="/">Eight States</g:link>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li><g:link controller="agency" action="index">Agency</g:link></li>
<li><g:link controller="attendee" action="index">Attendee</g:link></li>
<li><g:link controller="vendor" action="index">Vendor</g:link></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Reports <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><g:link controller="activityRegistration">Event Report</g:link></li>
<li><g:link controller="attendee" action="flightReport">Flight Report</g:link></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</li>
<li>
<sec:ifLoggedIn><a href="${createLink(uri: '/j_spring_security_logout')}">Logout</a></sec:ifLoggedIn>
<sec:ifNotLoggedIn><g:link controller='login' action='auth'>Login</g:link></sec:ifNotLoggedIn>
</li>
</ul>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我使用spring安全核心插件.我想在用户登录后立即将对象放入会话中.到目前为止我发现的是grails.plugin.springsecurity.LoginController插件中有.并且它具有ajaxSuccess被调用的方法,它似乎在成功认证之后被调用.所以我决定创建另一个扩展默认值的LoginController并覆盖此方法:
@Secured('permitAll')
class LoginController extends grails.plugin.springsecurity.LoginController {
def ajaxSuccess() {
session['somevproperty'] = someValue
super.ajaxSuccess()
}
}
Run Code Online (Sandbox Code Playgroud)
但调试表明从不调用此方法.出了什么问题?愿还有另一种方法可以做我想要的吗?谢谢!
在.grails文件夹下删除常春藤缓存后,现在我的任何应用程序都在工作(甚至是新创建的)因为无法解决Grails 2.2.5版本中的依赖性问题.
我在编译中得到了以下日志
::::::::::::::::::::::::::::::::::::::::::::::
:: UNRESOLVED DEPENDENCIES ::
::::::::::::::::::::::::::::::::::::::::::::::
:: org.grails.plugins#cache;1.0.1: not found
:: org.grails.plugins#rendering;0.4.4: not found
:: org.grails.plugins#ckeditor;3.6.6.1.0: not found
:: org.grails.plugins#rest-client-builder;1.0.2: not found
:: org.grails.plugins#spring-security-core;1.2.7.3: not found
::::::::::::::::::::::::::::::::::::::::::::::
| Error Failed to resolve dependencies (Set log level to 'warn' in BuildConfig.groovy for more information):
- org.grails.plugins:cache:1.0.1
- org.grails.plugins:rendering:0.4.4
- org.grails.plugins:ckeditor:3.6.6.1.0
- org.grails.plugins:rest-client-builder:1.0.2
- org.grails.plugins:spring-security-core:1.2.7.3
Run Code Online (Sandbox Code Playgroud) 我使用以下命令创建了简单的grails 3.0应用程序:
现在,我想在core build中使用core作为内联插件,这是一个Web应用程序.
我们可以在buildconfig中的grails版本<3.0中轻松完成.我在哪里可以用grails 3.0做到这一点.每一个帮助都值得赞赏.
每当我输入grails命令:test-app我都会收到此错误:
Error executing script TestApp: java.lang.ClassNotFoundException: grails.plugin.spock.test.GrailsSpecTestType (Use --stacktrace to see the full trace)
Run Code Online (Sandbox Code Playgroud)
在我的BuildConfig.groovy中,我有:
grails.project.dependency.resolution = {
...
plugins {
...
test ":spock:0.7"
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试用编译":spock:0.7"替换它.我也尝试清理应用程序并刷新依赖项但没有运气.
任何想法可能是什么以及我如何解决它?
谢谢
我想在Grails做一个简单的后台工作.我只是希望每30秒左右发生一次.
我使用的是Grails 3.1.3
我已经将Quartz添加到我的依赖项中:编译"org.grails.plugins:quartz:2.0.1"
然后我运行编译并重新启动grails CLI.现在我通过create-job创建了一个Job.它看起来像这样:
package htwp
class UserSyncJob {
static triggers = {
simple repeatInterval: 5000l // execute job once in 5 seconds
}
def execute() {
println ("?")
log.error("??!")
throw new Error("JOB WHERE ARE YOU");
}
}
Run Code Online (Sandbox Code Playgroud)
当我通过run-app启动服务器时没有任何反应.没有打印,也没有错误.我究竟做错了什么?
grails-plugin ×10
grails ×9
grails-2.0 ×3
amazon-ses ×1
css ×1
grails-2.1 ×1
grails-2.3 ×1
grails-3.0 ×1
grails-3.1 ×1
ivy ×1
maven ×1
spock ×1
web.xml ×1