首先你需要一个地方来存储用户信息,我会得到一个数据库设置并使用像 Hibernate 这样的东西。然后你需要一种方法来使用该信息来指定用户并允许然后登录,我会推荐 Spring Security。我个人最喜欢获取这两个框架的教程/指南的网站是 Mkyong。这是关于弹簧安全的一个http://www.mkyong.com/spring-security/spring-security-hello-world-example/
这是从我从事的项目中获取经过身份验证的用户的代码示例,此示例具有从数据库中检索的用户对象。
public static User currentUser() {
if (SecurityContextHolder.getContext() != null &&
SecurityContextHolder.getContext().getAuthentication() != null &&
SecurityContextHolder.getContext().getAuthentication().getPrincipal() != null &&
SecurityContextHolder.getContext().getAuthentication().getPrincipal() instanceof User) {
//logger.debug(className, "currentUser", "User: " + SecurityContextHolder.getContext().getAuthentication().getPrincipal());
return (User)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
} else {
return null;
}
}
在 Jsp 中,它会读到类似这样的内容
<c:if test="${esFn:currentUser() not null}">Your logged in!!!</c:if>
esFn 是 functions.tld 中定义的函数,如下所示
<function>
<name>currentUser</name>
<function-class>com.test.User</function-class>
<function-signature>
com.test.User currentUser()
</function-signature>
</function>