我能够显示SPRING_SECURITY_LAST_EXCEPTION.message("坏凭证"),当用户尝试使用不正确的凭据或用户登录是由于某种原因被禁用.
我想为用户被禁用的情况显示自定义消息,而不是显示"Bad Credentials",而是说"你已被禁用......等等,等等......".我怎么做?
我正在使用UserDetailsService在spring security中提供用户名/密码.
我将Quartz调度程序与Spring作为我的应用程序的一部分,它部署在集群环境中.问题是,即使我的作业计划每小时运行一次(正确触发作业),Quartz也会持续发出大量查询(每分钟数百个).有没有办法避免/延迟这些Quartz查询?
编辑:添加Quartz触发的一些查询
UPDATE QRTZ_TRIGGERS SET TRIGGER_STATE = 'ACQUIRED' WHERE SCHED_NAME = 'SW_QUARTZ_SCHEDULER' AND TRIGGER_NAME = 'createCronTriggerFactoryBeanForPSDJob' AND TRIGGER_GROUP = 'SPRING3-QUARTZ' AND TRIGGER_STATE = 'WAITING'
INSERT INTO QRTZ_FIRED_TRIGGERS (SCHED_NAME, ENTRY_ID, TRIGGER_NAME, TRIGGER_GROUP, INSTANCE_NAME, FIRED_TIME, STATE, JOB_NAME, JOB_GROUP, IS_NONCONCURRENT, REQUESTS_RECOVERY, PRIORITY) VALUES('SW_QUARTZ_SCHEDULER', 'sw-jayz-5413692078375651369207837517', 'createCronTriggerFactoryBeanForPSDJob', 'SPRING3-QUARTZ', 'sw-jayz-541369207837565', 1369207800000, 'ACQUIRED', NULL, NULL, 0, 0, 0)
SELECT * FROM QRTZ_JOB_DETAILS WHERE SCHED_NAME = 'SW_QUARTZ_SCHEDULER' AND JOB_NAME = 'createJobDetailFactoryBeanForPSDJob' AND JOB_GROUP = 'SPRING3-QUARTZ
DELETE FROM QRTZ_SIMPLE_TRIGGERS WHERE SCHED_NAME = 'SW_QUARTZ_SCHEDULER' AND TRIGGER_NAME = 'createCronTriggerFactoryBeanForQMRJob' AND TRIGGER_GROUP …Run Code Online (Sandbox Code Playgroud) 我有这样的集合:
{
"_id" : ObjectId("51f4ad560364f5490ccebe26"),
"fiTpcs" : [
"uuid1",
"uuid2",
"uuid3",
"uuid4",
"uuid5"
],
"fiTpcsCnt" : 5
}
Run Code Online (Sandbox Code Playgroud)
fiTpcs列表很长,之后可能会有数百个.当我检索我的收藏时,我希望得到一个有限的fiTpcs列表,一次说20个并发出单独的请求以从fiTpcs获取后续数据.我只想确保稍后当我有更多数据时查询不会变慢.有没有办法在mongodb中做到这一点?直到现在,我一直在做
db.userext.find({"_id" : ObjectId("51f4ad560364f5490ccebe26")}).pretty();
Run Code Online (Sandbox Code Playgroud)
它总能让我获得完整的fiTpcs数组.我在Spring中使用java驱动程序,使用Spring/java的解决方案也没问题.请注意 - 如果解决方案需要mongo扫描整个fiTpcs数组然后切片它的一部分,它并没有真正增加任何性能优势,这不是我想要的.
这是我在jsp中的代码:
<s:iterator value="sources" status="sourceStatus">
<s:property value="sourcesCheck"/>
<s:property value="#sourceStatus.index"/>
<s:if test="%{sourcesCheck.contains(#sourceStatus.index)}">
true
</s:if>
<s:else>
false
</s:else>
</s:iterator>
Run Code Online (Sandbox Code Playgroud)
sourcesCheck是我从我的操作传递的数组,其中填充了值0,1,2,3,4,5.我的jsp上的结果显示了来自sourcesCheck的0,1,2,3,4,5,但是,测试总是错误的.为什么?我已尝试使用sourcesCheck的int和String值.如何包含工作?如果index不是String或int,它是什么?