Tomcat和windows集成了身份验证

时间:2009-04-09 08:08:06

标签: tomcat windows-integrated-auth

我正在开发一个必须在Tomcat上运行的JAVA APP,我需要能够识别正在加入我的应用程序网络的远程用户。

这个远程用户正在Windows上运行,因此我需要获取他的“windows login”(sAMAccountName活动目录属性)。

在IIS上最简单。我按照这个Detect user logged on a computer using ASP.NET app来记录用户

server.xml的内容是:

<Realm
    className="org.apache.catalina.realm.JNDIRealm" debug="99"
    connectionURL="ldap://DAServer:389"
    connectionName="userAuth@mydomain.local"
    connectionPassword="secret"
    referrals="follow"
    userBase="OU=mycompany,DC=mydomain,DC=local"
    userSubtree="true"
    roleBase="OU=groups,DC=mydomain,DC=local"
    roleName="name"
    roleSubtree="true"
    roleSearch="(member={0})"/>

web.xml的内容是:

<!-- Define a Security Constraint on this Application -->
    <security-constraint>
        <web-resource-collection>
        <web-resource-name>Entire Application</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>

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

    <!-- Define the Login Configuration for this Application -->
    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>myRealm</realm-name>
    </login-config>

    <!-- Security roles referenced by this web application -->
    <security-role>
        <description>The role that is required to log in to APP</description>
        <role-name>myCompany Users</role-name>
    </security-role>

我需要自动登录。

3 个答案:

答案 0 :(得分:1)

如果您正在构建Intranet应用程序并且正在寻找SSO,那么您可以使用基于JespajCIFS之类的内容。

答案 1 :(得分:1)

答案可以在这里找到:

Detect user logged on a computer using Java web app

见到你!

答案 2 :(得分:0)

您必须使用Tomcat JNDI领域并将其与服务器的活动目录

集成

尝试使用here了解某些指南