如何使用Glassfish实现基本身份验证?

时间:2011-05-06 14:05:06

标签: java linux security glassfish basic-authentication

我尝试过这种配置,但它对我不起作用。 Basic Authentication in Glassfish 我也试过这个指南 http://maksim.sorokin.dk/it/2010/10/13/basic-authentication-in-glassfish-3/但我也无法通过用户传递问题。

这些是我采取的步骤:
1.以管理员身份登录管理界面 2.转到Security-> Realms->文件
3.将组名称(用户)添加到“分配组”字段 4.在页面顶部打开管理用户 5.单击“新建”并添加用户(testuser)并输入密码 6.将(用户)添加到组列表 7.将此行添加到web.xml

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Secure Application</web-resource-name>
        <url-pattern>/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection>

    <auth-constraint>
        <role-name>User</role-name>
    </auth-constraint>
  </security-constraint>

  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>file</realm-name>
  </login-config>

  <security-role>
    <role-name>User</role-name>
  </security-role>

8。并将这些行放到sun-web.xml

<sun-web-app error-url="">
  <security-role-mapping>
    <role-name>User</role-name>
    <group-name>Users</group-name>
  </security-role-mapping>
</sun-web-app>

9。毕竟我启用了Configurations-&gt; server-config-&gt; Security-&gt; Security Manager

我的配置是Glassfish 3.1,sun java6 jdk,Debian lenny和一个简单的“Hello World”页面进行测试。

这里缺少什么?

更新:

我发现它需要xml标头。我添加它们之后就开始工作了。我的最终配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<security-constraint>
    <web-resource-collection>
        <web-resource-name>Secure Application</web-resource-name>
        <url-pattern>/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection>

    <auth-constraint>
        <role-name>Users</role-name>
    </auth-constraint>
</security-constraint>

  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>file</realm-name>
  </login-config>

  <security-role>
    <role-name>Users</role-name>
  </security-role>
</web-app>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd">
<sun-web-app error-url="">
  <security-role-mapping>
    <role-name>Users</role-name>
    <group-name>Users</group-name>
  </security-role-mapping>
</sun-web-app>

1 个答案:

答案 0 :(得分:0)

您可以尝试使用本指南:http://download.oracle.com/docs/cd/E19798-01/821-1750/beaxw/index.html我听说web.xml有时无法正常工作。我有同样的问题,但现在无法测试。