我已经安装了
Orbeon Forms 2018.2.201901010020 CE
在里面
Tomcat-8.5.37
并尝试使用用户菜单的新注销按钮-该登录在以前的orbeon版本中已经起作用。
指定
形式
作为web.xml的login部分中的身份验证方法,所有这些方法都工作顺利。
但使用表单身份验证时,必须将密码保存为明文,这是需要避免的。
所以我试着
摘要
作为身份验证方法,它允许保存加密的密码。
登录有效,用户菜单报告登录的用户。
但注销不会使会话无效。不显示orbeon注销页面,而是显示form runner主页,在用户菜单中,用户仍显示为已登录。
再次单击“注销”按钮,所有操作都将保持不变:此时将显示用户已登录的FormRunner主页。
在
properties-local.xml
我为用户菜单和容器身份验证插入了属性:
<property
as="xs:boolean"
name="oxf.fr.authentication.user-menu.enable"
value="true"/>
<property
as="xs:string"
name="oxf.fr.authentication.method"
value="container"
/>
用户和角色在
tomcat_users.xml
.
在
web.xml
我从
<url-pattern>/fr/auth</url-pattern>
到
<url-pattern>/fr/*</url-pattern>
,所以tomcat要求对所有
fr
页:
<security-constraint>
<web-resource-collection>
<web-resource-name>Form Runner</web-resource-name>
<!-- <url-pattern>/fr/auth</url-pattern> original -->
<url-pattern>/fr/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>orbeon-user</role-name>
</auth-constraint>
</security-constraint>
对于我使用的摘要身份验证
摘要
在
login-config
的
web.xml文件
并添加了
CredentialHandler
在
server.xml
.
<login-config>
<auth-method>FORM</auth-method>
<!-- <auth-method>DIGEST</auth-method> -->
<form-login-config>
<form-login-page>/fr/login</form-login-page>
<form-error-page>/fr/login-error</form-error-page>
</form-login-config>
</login-config>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase">
<!-- <CredentialHandler
className="org.apache.catalina.realm.MessageDigestCredentialHandler"
algorithm="md5" saltLength="0" iterations="1" /> -->
</Realm>
在测试中,我首先打开了页面
http://localhost/8080/orbeon/home/
. 这不是一个
法国
页面,因此它将在不要求密码的情况下显示。
然后我选择了
书架
申请。这是一个fr页面,因此会弹出一个用于身份验证的页面。
通过表单身份验证,将显示orbeon登录页面:
使用摘要身份验证,将显示tomcat登录页面:
在这两种情况下,成功登录后都会显示bookshelf summary页面,用户菜单会显示登录的用户。
在单击注销按钮后的摘要身份验证中,显示的下一页是form runner主页,而不是orbeon注销页。用户保持登录状态,用户名显示在用户菜单中。
再次单击“注销”按钮,所有内容都将保持不变:此时将显示表单运行器主页,用户已登录:
在两个orbeon日志的链接附近:
的orbeon.log
形式
身份验证
orbeon log form authentication
的orbeon.log
摘要
身份验证
orbeon log DIGEST authentication
注意。在orbeon摘要日志中,我看到了断管错误,在orbeon表单日志中,我没有看到这些错误。
我需要更改什么,以便注销也能与摘要身份验证一起工作?
非常感谢你的建议