【问题标题】:Realm configuration for active directory活动目录的领域配置
【发布时间】:2012-10-30 22:07:47
【问题描述】:

我想对希望通过 Active Directory 访问特定资源的用户进行身份验证。我使用 JSF 2.1 和 Glassfish 3.1.2。 我尝试thisthisthis,但它对我不起作用。用户无法登录。总是将我重定向到错误页面。

domain.xml sn-p:

<auth-realm name="ADREALM" classname="com.sun.enterprise.security.auth.realm.ldap.LDAPRealm">
      <property name="directory" value="LDAP://WIN-AK5HJBX4R4G.my.com/"></property>
      <property name="search-filter" value="(&amp;(objectClass=user)(sAMAccountName=%s))"></property>
      <property name="base-dn" value="DC=my,DC=com"></property>
      <property name="group-search-filter" value="(&amp;(objectClass=group)(member=%d))"></property>
      <property name="jaas-context" value="ldapRealm"></property>
      <property name="assign-groups" value="Domain Users"></property>
      <property name="search-bind-dn" value="WIN-AK5HJBX4R4G.my.com\Administrator"></property>
      <property name="search-bind-password" value="Qwerty123"></property>
</auth-realm>

WIN-AK5HJBX4R4G - 它是我的虚拟服务器的默认名称(它可以是 192.168.56.101 或只是 localhost。因为 webapp 部署在此服务器上并不意味着它的命名方式,AD 也在此服务器上) .

我尝试了一些形式的 search-bind-dn,例如:

WIN-AK5HJBX4R4G.my.com\Administrator <- it works for asp.net so I think it is good form , maybe I'm wrong?
Administrator@my.com
CN=Administrator,CN=Users,DC=my,DC=com

没有任何作用。用户仍然无法登录。

web.xml sn-p:

<login-config>
    <auth-method>FORM</auth-method>
    <realm-name>ADREALM</realm-name>
    <form-login-config>
      <form-login-page>/login.xhtml</form-login-page>
      <form-error-page>/loginError.xhtml</form-error-page>
    </form-login-config>
</login-config> 

<security-constraint>
    <display-name>Example Security Constraint</display-name>
    <web-resource-collection>
      <web-resource-name>Protected Pages</web-resource-name>
      <url-pattern>/faces/*</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>

<security-role>
  <description>A Funky User</description>
  <role-name>user</role-name>
</security-role>

glassfish-web.xml sn-p:

<security-role-mapping>
    <role-name>user</role-name>
    <group-name>Domain Users</group-name>
</security-role-mapping>

我还在 JVM 选项中添加了-Djava.naming.referral=follow

  1. 如果可能,我在哪里可以检查任何异常或错误等“连接到服务器失败”或“密码或登录错误”?有日志文件吗?还是别的什么?
  2. 我是否遗漏了配置文件中的某些内容?

【问题讨论】:

    标签: active-directory glassfish forms-authentication realm


    【解决方案1】:

    已解决。

    将属性 java.naming.referral=follow 添加到 domain.xml。

    【讨论】:

      猜你喜欢
      • 2011-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-09
      • 2017-01-23
      • 2016-08-18
      • 2011-03-09
      • 1970-01-01
      相关资源
      最近更新 更多