如何使用jersey和java在RESTWeb服务中进行身份验证

如何使用jersey和java在RESTWeb服务中进行身份验证,java,mongodb,jersey,restful-authentication,Java,Mongodb,Jersey,Restful Authentication,如何使用jersey框架和java在RESTWeb服务中进行身份验证? 我使用了NetBeanIDE并创建了RESTWeb服务,应用服务器是glassfish。 我不使用javadb或derby。我的数据库是mongodb。 我有谷歌,我找到了。 但该网站描述他使用了derby数据库。 我应该如何在web.xml中配置身份验证?您链接到的页面将允许您进行身份验证,即使您的应用程序使用了另一个数据库。然后,您将在一个单独的数据库中拥有用户凭据(在这种情况下是derby,但您可以自由使用任何具有jd

如何使用jersey框架和java在RESTWeb服务中进行身份验证? 我使用了NetBeanIDE并创建了RESTWeb服务,应用服务器是glassfish。 我不使用javadb或derby。我的数据库是mongodb。 我有谷歌,我找到了。 但该网站描述他使用了derby数据库。
我应该如何在web.xml中配置身份验证?

您链接到的页面将允许您进行身份验证,即使您的应用程序使用了另一个数据库。然后,您将在一个单独的数据库中拥有用户凭据(在这种情况下是derby,但您可以自由使用任何具有jdbc驱动程序的数据库)

您还可以使用另一个“领域”进行身份验证。如果您只有几个用户,并且不需要从应用程序代码更改他们的用户名/密码,那么您可以在glassfish中使用“filerealm”

您也可以设计自己的领域,但这需要更多的工作。你可以找到一些关于这方面的博客,或者从Glassfish源代码中找到一些灵感


我认为mongodb不能使用引用的“jdbcrealm”,因为我认为它没有完整的jdbc驱动程序(因为这可能没有意义,mongodb是面向文档的数据库,而不是关系数据库)。如果您确实需要在mongodb中定义您的用户和组,那么您应该编写一个自定义域。

您也可以使用glassfish的
文件
域来测试您的代码和基本身份验证是否有效。
为此,请将用户添加到文件域并在web.xml中修改配置:

<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>file</realm-name>
</login-config>
<security-role>
    <description/>
    <role-name>USERS</role-name>
</security-role>

基本的
文件
使用者

稍后,您可以切换到jdbc领域并添加jdbc数据源以与mongodb和realm一起使用。

只要您不担心扩展到相当大的规模,每个应用服务器都将有自己的“文件”实现。很容易证明概念。