Single sign on 使用Weblogic12+;SPNEGO&x2B;Kerberos+;LDAP

Single sign on 使用Weblogic12+;SPNEGO&x2B;Kerberos+;LDAP,single-sign-on,kerberos,weblogic12c,spnego,Single Sign On,Kerberos,Weblogic12c,Spnego,我有一个正在开发的EE应用程序,我正在尝试使用通过多租户WebLogic服务器(12.2.1.2)连接到windows Active Directory的SPNEGO提供程序在windows网络上实现SSO。SPNEGO提供程序已配置,并且似乎与Active Directory一起正常工作。我创建了一个小应用程序,它由WAR中的一个servlet组成,如果身份验证成功,该servlet将在屏幕上显示登录信息 我遇到的问题是,从服务器查看日志文件时,身份验证成功,但一旦我通过SPNEGO进行了身份

我有一个正在开发的EE应用程序,我正在尝试使用通过多租户WebLogic服务器(12.2.1.2)连接到windows Active Directory的SPNEGO提供程序在windows网络上实现SSO。SPNEGO提供程序已配置,并且似乎与Active Directory一起正常工作。我创建了一个小应用程序,它由WAR中的一个servlet组成,如果身份验证成功,该servlet将在屏幕上显示登录信息

我遇到的问题是,从服务器查看日志文件时,身份验证成功,但一旦我通过SPNEGO进行了身份验证,服务器就不会将我转发。我可以看到SPNEGO令牌在哪里传递,并用于从Active Directory验证我的身份,甚至验证我所属的所有组

下面是测试应用程序的Web.xml

<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>
<servlet>
     <servlet-name>AuthSimpleTestServlet</servlet-name>
     <servlet-class>functional.test.SimpleTestServlet</servlet-class>
 </servlet>
 <servlet-mapping>
     <servlet-name>AuthSimpleTestServlet</servlet-name>
     <url-pattern>/</url-pattern>
 </servlet-mapping>

<security-role>
    <description>Admin Role</description>
    <role-name>DEV_ADMIN</role-name>
</security-role>
<security-constraint>
    <web-resource-collection>
        <web-resource-name>secured pages</web-resource-name>
        <url-pattern>/*</url-pattern>
        <url-pattern>/</url-pattern>
        <http-method>POST</http-method>
        <http-method>GET</http-method>
    </web-resource-collection>
    <auth-constraint>
        <role-name>DEV_ADMIN</role-name>
    </auth-constraint>
    <user-data-constraint>
        <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
</security-constraint>
<login-config>
    <auth-method>CLIENT-CERT</auth-method>
    <realm-name>myrealm</realm-name>
</login-config>
<session-config>
    <session-timeout>
        30
    </session-timeout>
</session-config>
<welcome-file-list>
     <welcome-file>/AuthSimpleTestServlet</welcome-file>
</welcome-file-list>

javax.faces.PROJECT_阶段
发展
AuthSimpleTestServlet
functional.test.SimpleTestServlet
AuthSimpleTestServlet
/
管理角色
开发管理员
安全页面
/*
/
邮递
得到
开发管理员
没有一个
客户端证书
我的王国
30
/AuthSimpleTestServlet

weblogic.xml

<security-role-assignment>
    <role-name>DEV_ADMIN</role-name>
    <principal-name>@APP_DEV_ADMIN</principal-name>
    <principal-name>APP_DEV_ADMIN</principal-name>
</security-role-assignment>

开发管理员
@应用程序开发管理
应用程序开发管理
我可以看到主体被添加到主题中的位置。不是用于格式化目的的JS代码段



尝试从web.xml文件中删除此标记:/403当安全约束未正确配置时,可能会发生错误。

尝试从web.xml文件中删除此标记:/403当安全约束未正确配置时,可能会发生错误。很抱歉,响应太晚,我获得了更高优先级的开发工作。改变这一点是问题的一半,另一半是安全领域中提供者的不正确排序。如果你把这个作为回答,我会接受的。在请求中使用isUserInRole方法似乎有问题,但这是另一个问题。