使用Primefaces进行j_security_check
如何使用Primefaces实现j_security_check ? 通常在JSP中如果要使用JAAS进行登录,则登录表单通常为:
但是我们如何在JSF或Primefaces中实现它!
- 这将是什么行动
- 我们如何摆脱像
formId:componentId
这样的id或名称 -
p:commandButton
默认情况下在Primefaces中被ajaxified,所以它如何以非ajax方式提交表单
我需要使用Primefaces实现JAAS表单身份validation,我在这里分享解决方案; 它可能对某人有用。
解决方案非常简单。
- 您需要使用
prependId="false"
定义h:form
,以便它不会像formId:componentId
一样生成组件的id或名称。 - 您需要在
h:form
定义action="j_security_check"
,如onsubmit="document.getElementById('login').action='j_security_check';"
- 将
p:commandButton
的ajax
属性设置为false
,以便不以ajax方式提交表单。
而已。 以下是登录表单的完整代码,可由上述表格替换:
谢谢。
有工作(使用Primefaces 5)代码(从p:inputText删除名称属性和p:密码,删除由BalusC部分建议):
- 管理身份validation令牌的最佳做法
- Spring安全切换到Ldap身份validation和数据库权限
- Spring SecurityContext在错误页面上返回null身份validation
- 泽西岛 – 要求进行身份validation
- 无需身份validation即可在javax.mail中发送邮件
- 即使在SpringMVC中包含密钥库证书后,也无法对服务器进行身份validation
- 使用JNDI / Java中的当前用户在LDAP上进行身份validation
- 如何在Spring中为系统用户validation计划进程?
- 使用Oracle Wallet身份validation从Spring-jdbc连接到Oracle DB