我很高兴 stackoverflow 存在,至少有流量。很抱歉在这里问这些问题,但在 caucho 论坛上发布问题显然需要数周时间才能出现。
我正在为我的服务制定一个自定义登录表单的指南,但我猜该指南是为 Resin 版本 1 编写的,我正在研究版本 4,并且有一些我不完全理解的自定义标签,甚至Resin 4 的文档有一些错误。
标签是下一个:
<login-config> <auth-method>FORM</auth-method> <form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page> </form-login-config>
<authenticator id='MyAuthenticator'/>
</login-config>
版本 4 的标签发生了变化,但我不太理解“foo bar”的类比。我确实看过拯救士兵瑞恩的电影,所以 Foobar 听起来有点不专业和误导。
<foo:MyAuthenticator>
<foo:foo>bar</foo:foo>
</foo:MyAuthenticator>
<resin:FormLogin form-login-page="/" form-error-page="/" />
我不完全确定,但他的 getUser() 方法在 com.caucho.security.AbstractAuthenticator 文档中不存在。该方法称为 getPassworduser()。我知道,人们会犯错误,至少我有,而且很多。
package com.foo;
import com.caucho.security.AbstractAuthenticator;
import com.caucho.security.PasswordUser;
public class MyAuthenticator extends AbstractAuthenticator {
private PasswordUser _user;
public MyAuthenticator()
{
_user = new PasswordUser("harry", "quidditch",
new String[] { "user" });
}
public PasswordUser getUser(String userName)
{
if (userName.equals(_user.getName()))
return _user;
else
return null;
}
}
那么,有人可以向我解释一下新的标签语法吗?如果我的包名为 com.subpackage1.subpackage2 怎么办?什么代表“bar”元素?什么是第一位的?<resin:FormLogin ...>
或者<foo:MyAuthenticator>...</foo:MyAuthenticator>
考虑到它们都是单独的标签,我如何将我的表单链接到身份验证器?