【问题标题】:Java - Authenticate user using web application's security framework without Http requestsJava - 使用 Web 应用程序的安全框架验证用户,无需 Http 请求
【发布时间】:2010-01-26 13:13:14
【问题描述】:

所以我在 Java Web 应用程序中有一个 Tomcat 服务器,使用 tomcat-users.xml 文件中指定的 Tomcat 的用户名和密码完成身份验证,以及基于表单的身份验证(发布到 j_security_check)。我现在还注册了一个远程对象(使用 Java RMI),我想从一个 Eclipse 插件从 Web 上下文之外访问它。

我的目的是获取具有方法的远程对象

public AnotherRemoteClsWithRestrictedMethods login(user, pass);

然后实现使用 Web 应用程序的安全框架来验证用户和密码组合。如果有效,则将返回另一个具有受限方法的对象。

我将如何获取/查询 Web 应用程序的安全详细信息?

注意:我没有HttpRequest 对象,我应该调用另一个 URL 来验证用户吗?还有其他方法吗?

提前致谢。

【问题讨论】:

    标签: java authentication web-applications rmi


    【解决方案1】:

    j_security_check 是基于 HTTP 的身份验证。你真的需要触发一个 HTTP 请求。 您可以为此使用java.net.URLConnection,或者更方便的Apache Commons HttpClient

    【讨论】:

    • 是的,我认为这是一种方法,但理想情况下我不想触发 HTTP 请求,是否没有像 SecurityContext.verifyUser(user, pass) 这样的静态方法?
    • 不在 Servlet API 中,没有。您需要自己解析tomcat-users.xml 并获取/测试凭据。更好的办法是将它们存储在数据库中,让 Tomcat 使用DatasourceRealm(或JDBCRealm)代替。这样您就可以更轻松地从其他来源访问凭据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-06
    • 2014-06-16
    • 2011-04-30
    • 2018-08-14
    • 1970-01-01
    • 2012-04-25
    相关资源
    最近更新 更多