运行在Geronimo中的Java servlet的简单身份验证

运行在Geronimo中的Java servlet的简单身份验证,java,tomcat,authentication,servlets,geronimo,Java,Tomcat,Authentication,Servlets,Geronimo,我现在正在研究如何向Javaservlet添加身份验证。我发现了一个示例,展示了如何对servlet使用身份验证,但这是一个Tomcat实现。我们的生产环境使用Geronimo。如何在Geronimo中完成同样的事情 抱歉,前几天刚刚学习了Geronimo的基础知识,但还没有在较高的层次上找到如何要求对Geronimo中运行的servlet进行身份验证。使用安全过滤器,它们是在servlet中实现身份验证的最佳方法, 因为每个链接的简单身份验证都是这样的(在web.xml中) 这里是chain.

我现在正在研究如何向Javaservlet添加身份验证。我发现了一个示例,展示了如何对servlet使用身份验证,但这是一个Tomcat实现。我们的生产环境使用Geronimo。如何在Geronimo中完成同样的事情


抱歉,前几天刚刚学习了Geronimo的基础知识,但还没有在较高的层次上找到如何要求对Geronimo中运行的servlet进行身份验证。

使用安全过滤器,它们是在servlet中实现身份验证的最佳方法, 因为每个链接的简单身份验证都是这样的(在web.xml中)

这里是chain.doFilter(请求、响应);
让我们的流程按原样进行;否则,用户将被重定向到相应的jsp。

您需要在
geronimo web.xml
中配置它。
web.xml
与您提供的示例类似

下面是一个显示大部分内容的资源:

在本例中,用户密码位于数据库中

但是可以在
geronimoweb.xml
()


已编辑

此链接还提供有关管理
用户/组/领域的信息

您可以使用来方便您的工作。 pac4j支持多种身份验证机制(表单、Facebook、CAS…)

您的问题似乎表明您正在寻找一些简单的机制,如表单或http基本身份验证。在这种情况下,您只需要实现
UsernamePasswordAuthenticator
接口,并依赖于包含用户名/密码对的文件。请记住,在网上提交凭据时始终使用HTTPS,以保存机密性和完整性


请看一下,以了解pac4j如何集成到j2e上下文中。

您是否正在寻找Geronimo支持的任何基于J2EE的身份验证?对于初学者,我想做一个简单的用户文件,如我发布的示例中所述。在该示例中,他们建议将用户添加到tomcat-users.xml文件中。这是我想要开始工作的伟大的第一步(至少对我来说,因为我没有这个原型的其他身份验证方法)。除了设置(tomcat用户文件)之外,这将是相同的。@LeosLiterak-那么我在Geronimo中的用户和密码列表在哪里呢?问题就在这里——我不确定我在Geronimo中是如何做到这一点的。您可以创建一个数据库并将用户表放在存储用户名和密码的位置。因此,您可以通过对表进行用户名和密码检查来查询表。这是非常常见的方式(没有Geronimo耦合),密码存储在哪里?另外,这是否会以纯文本形式发送用户名,对吗?如果是这样,你将如何保护流量并对其进行加密?对于用户名安全-1。使用POST协议,用户名不会被发送到URL中。2.发送前对用户名进行加密(通过javascript)并发送加密用户名,从数据库中获取加密版本并进行比较。对于密码-1。您必须在数据库中存储加密密码,显然您将从数据库中获取密码并进行比较。(这是一个让您了解流程的示例,否则一切都可以在doFilter()中完成,就像在java中一样,我们作为开发人员每天都做这些事情。:))所有servlet容器都为您提供基本的和基于表单的身份验证实现@Edubliguenti已经为您提供了geronimo的相关文档链接。大多数情况下,这将很好地满足您的目的——代码行数为零。
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>com.nawab.filters.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>/* </url-pattern>
</filter-mapping>
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>com.nawab.filters.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>    
    public class LoginFilter implements Filter {
public void init(FilterConfig arg0) throws ServletException {
}

public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain) throws IOException, ServletException {

    HttpServletResponse httpRes = (HttpServletResponse) response;
    String ipAddress = request.getRemoteAddr();
    // your ipAddress
    String yourIpAddress = "192.168.1.xxx";
    // name you want to authenticate
    String name = "nawab";
    // ip address validation
    if (!request.getParameter(ipAddress).equals(yourIpAddress)) {
        httpRes.sendRedirect("wrongIp.jsp");
    }
    if (!request.getParameter("fname").equals(name)) {
        httpRes.sendRedirect("index.jsp");
    }
    chain.doFilter(request, response);
}

public void destroy() {
}}