问题标签 [waffle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1276 浏览

java - 无法实现 waffle 身份验证,在 linux 上使用 tomcat。javax.security.auth.login.LoginException:

我在 linux 上使用 tomcat,尝试使用 waffle 对用户进行身份验证。

我的 META_INF/context.xml 是

我的错误代码是

我的 login.conf 是

在我的 web.xml 我给

我认为错误是我如何启动 tomcat 并使用它,我没有任何 .policy 文件

0 投票
1 回答
630 浏览

java - Waffle 作为 Jboss 7.1 中的一个模块

我们正在尝试从 tomcat 迁移到 Jboss AS 7.1,但是我们用于 SSO 的 Waffle 库存在问题。

我们读到为了在 jboss AS 7.1 中使用 Waffle,我们需要在 Jboss 中创建一个具有以下依赖项的模块:

并将以下依赖项添加到我们的 jboss-deployment-structure.xml 中:

但似乎 jboss 没有找到模块内的所有类,因为我们收到以下错误:

非常感谢您的帮助。

更新:

这是整个例外:

18:26:04,936 严重 [org.springframework.web.context.ContextLoader](MSC 服务线程 1-2)上下文初始化失败:org.springframework.beans.factory.BeanCreationException:创建名为“_filterChainProxy”的 bean 时出错:初始化豆失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:使用名称“_filterChainList”创建 bean 时出错:使用键 [2] 设置 bean 属性“filters”时无法解析对 bean '_exceptionTranslationFilter' 的引用;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“_exceptionTranslationFilter”的 bean 时出错:bean 初始化失败;嵌套异常是 org.springframework.beans.factory.CannotLoadBeanClassException:找不到类 [waffle.spring. NegotiateSecurityFilterEntryPoint] 用于在类路径资源 [waffle-filter.xml] 中定义的名称为“negotiateSecurityFilterEntryPoint”的 bean;嵌套异常是 java.lang.ClassNotFoundException: waffle.spring.NegotiateSecurityFilterEntryPoint from [Module "deployment.Grc.war:main" from Service Module Loader] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java: 480) [spring-2.5.5.jar:2.5.5] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) [spring-2.5.5.jar:2.5.5]在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory 的 java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_13]。BeanCreationException:创建名为“_filterChainList”的bean时出错:使用键[2]设置bean属性“filters”时无法解析对bean“_exceptionTranslationFilter”的引用;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“_exceptionTranslationFilter”的 bean 时出错:bean 初始化失败;嵌套异常是 org.springframework.beans.factory.CannotLoadBeanClassException:找不到类路径资源 [waffle-filter.xml] 中定义的名称为 'negotiateSecurityFilterEntryPoint' 的 bean 的类 [waffle.spring.NegotiateSecurityFilterEntryPoint];嵌套异常是 java.lang.ClassNotFoundException: waffle.spring.NegotiateSecurityFilterEntryPoint from [Module "deployment.Grc.war:main" from Service Module Loader] at org. applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:350) [spring-2.5.5.jar:2.5.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1330) [spring-2.5.5.jar :2.5.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) [spring-2.5.5.jar:2.5.5] ... 22 更多原因:org.springframework .beans.factory.BeanCreationException:创建名为“_exceptionTranslationFilter”的bean时出错:bean初始化失败;嵌套异常是 org.springframework.beans.factory.CannotLoadBeanClassException:找不到名为“negotiateSecurityFilterEntryPoint”的 bean 的类 [waffle.spring.NegotiateSecurityFilterEntryPoint] 在类路径资源 [waffle-filter.xml] 中定义;嵌套异常是 java.lang.ClassNotFoundException: waffle.spring.NegotiateSecurityFilterEntryPoint from [Module "deployment.Grc.war:main" from Service Module Loader] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java: 480) [spring-2.5.5.jar:2.5.5] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) [spring-2.5.5.jar:2.5.5]在 java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_13] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) [spring-2.5.5.jar :2.5.5] 在 org.springframework.beans.factory.support。CannotLoadBeanClassException:找不到类路径资源 [waffle-filter.xml] 中定义的名称为“negotiateSecurityFilterEntryPoint”的 bean 的类 [waffle.spring.NegotiateSecurityFilterEntryPoint];嵌套异常是 java.lang.ClassNotFoundException: waffle.spring.NegotiateSecurityFilterEntryPoint from [Module "deployment.Grc.war:main" from Service Module Loader] at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java: 1138) [spring-2.5.5.jar:2.5.5] 在 org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1102) [spring-2.5.5.jar:2.5.5] 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:386) [spring-2.5.5.jar:2.5.5] 在 java.security。

0 投票
2 回答
7981 浏览

single-sign-on - SSO waffle 询问用户名和密码

我正在尝试运行从 http://repo1.maven.org/maven2/com/github/dblock/waffle/waffle-filter-demo/1.6/waffle-filter-demo-1.6下载的华夫饼“华夫饼过滤器演示”的演示。战争

我使用 tomcat 作为 servlet 容器并部署了 war 文件。

当我尝试使用 URL http://localhost:8080/waffle-filter-demo-1.6/ 访问服务器时,我能够通过当前的 Windows 登录进行身份验证,并且我的 Windows 用户已通过身份验证。

但是当我使用 IP 地址 http://192.168.2.63:8080/waffle-filter-demo-1.6/ 访问相同的 url 时。华夫饼要求我输入用户名和密码。

以前有人遇到过这种情况吗?如何通过IP地址访问认证成功?

0 投票
2 回答
1600 浏览

java - 在 Tomcat 中使用 waffle 的 Java SSO

我正在使用以下代码来获取实际登录用户:

当我在 Eclipse 中启动它并返回我的用户名时,它工作正常。

当我部署我的 Web 应用程序并在 Tomcat 中启动它时,它会返回 nt-authority\system。但我需要实际登录用户的名称。(在 Tomcat 中使用 Waffle SSO 工作正常,但我无法获取用户名)

拜托,有人有想法吗?

编辑:eclipse中的用户主体也是正确的。当我在 Tomcat 中启动时,它始终为空。

0 投票
0 回答
1324 浏览

struts2 - 错误 403--当我尝试在其中使用 waffle 时,weblogic 中出现禁止错误

错误 403--禁止

来自 RFC 2068 超文本传输​​协议——HTTP/1.1:

10.4.4 403 禁止

服务器理解请求,但拒绝执行。授权将无济于事,并且不应重复请求。如果请求方法不是 HEAD 并且服务器希望公开请求未完成的原因,它应该在实体中描述拒绝的原因。当服务器不希望确切地揭示请求被拒绝的原因或没有其他响应适用时,通常使用此状态代码。

我有一个使用单点登录 (SSO) 的应用程序,我在 WEBLOGIC 中使用了 Waffle。

当我在 web.xml 中应用以下配置时,在询问我 Web 服务器的用户名和密码后,它会给出错误 Error 403-forbidden

当我删除此配置并运行它时,它工作正常并给了我欢迎页面,请帮助我

0 投票
2 回答
1141 浏览

java - 春季华夫饼自定义错误页面

我正在使用华夫饼 1.7 + spring 4 + spring security 3.2 + thymeleaf。我的问题是,当回退表单日志记录失败时,我无法提供自定义错误页面。这是我的配置: @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/**") .authenticated() .and() .exceptionHandling() .authenticationEntryPoint(negotiateSecurityFilterEntryPoint()) .accessDeniedPage("/access-denied") .and() .addFilterBefore(waffleNegotiateSecurityFilter(), BasicAuthenticationFilter.class); }

当用户在关闭 SNPENGO 的情况下使用浏览器并输入错误的凭据时,会出现默认的系统 500 页面,其中包含以下信息:

com.sun.jna.platform.win32.Win32Exception: The logon attempt failed. waffle.windows.auth.impl.WindowsAuthProviderImpl.acceptSecurityToken(WindowsAuthProviderImpl.java:134) waffle.servlet.spi.NegotiateSecurityFilterProvider.doFilter(NegotiateSecurityFilterProvider.java:103) waffle.servlet.spi.SecurityFilterProviderCollection.doFilter(SecurityFilterProviderCollection.java:130) ...

如何提供我的自定义页面(access-denied.html thymeleaf 模板)?到目前为止,我已经尝试了http://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc中的所有内容,但没有成功。

0 投票
1 回答
1368 浏览

java - windows通过IIS Url重写在tomcat上单点登录

我面临一个困难的设置,我必须根据我的 tomcat 应用程序上使用的登录配置单点登录。我已经采取了一些步骤,允许我使用 waffle 直接在我的 tomcat 应用程序上通过单点登录登录。

我有 1 台服务器,其中运行着一个 tomcat 和一个 IIS(但此 IIS 将来会移动到同一域中的另一台服务器)。我在端口 8205 上运行 Tomcat,并且 IIS 配置为接受来自 authpoc.company.com 的 url。IIS 通过 URL 重写重定向到 localhost:8025。我来自 IIS 的 web.xml

什么有效

  • 直接在服务器上的 localhost:8205 打开应用程序时。根据我的域用户,我得到了一个很好的单点登录。
  • 直接在服务器的ip上打开应用程序时。192.168.1.1:8205。我可以登录,但单点登录不再起作用。这个我不明白。(编辑:已解决,这是 Internet Explorer 中的设置,请参阅SSO waffle 询问用户名和密码以获取更多信息)

什么不起作用

  • 从 IIS 重定向时,我无法登录到我的 tomcat 应用程序。我启用了 Windows 身份验证,启用了协商和 NTML(按此顺序)。

我在互联网上阅读了很多内容,但找不到任何具有这种特殊设置的人。我真的没有印象我在做一些异国情调的事情。一种可能性是我应该通过 AJP 连接 IIS,而不是更简单的 URL 重写。

欢迎任何帮助!谢谢

0 投票
0 回答
355 浏览

java - 在 Spring Security + Waffle 应用程序中扩展身份验证逻辑

我正在使用Waffle在 Spring Web 应用程序中实现 ActiveDirectory 单点登录。

我也在使用 Spring Security,并按照本教程集成了这些库。

现在我需要自定义身份验证行为,就像我在一个老问题中所做并描述的那样:Spring Security:如何将 Active Directory 用户映射到应用程序用户?

我基本上只需要允许注册用户的身份验证并将 AD 用户映射到应用程序用户。

为了实现这一点,我需要扩展一些AuthenticationProviderand UserDetailsContextMapper,但我在 Waffle 实现中找不到任何类似的东西。

那么,我该如何解决我的问题呢?使用 Waffle 时,是否有其他方法可以在身份验证和授权链中添加逻辑?

0 投票
2 回答
966 浏览

java - 无需任何登录的 Waffle 授权

我在 Intranet 中有一个 Web 应用程序,并且已经在 Intranet 中并且已在他/她的 windows 计算机上成功登录的客户端不想再次输入任何登录凭据。我见过华夫饼。当我尝试它的示例时,它为 SSO 提供了 Windows 凭据,这对我来说是一个加分项。但问题是,我不希望我的客户再次输入他们的 Windows 凭据,他们已经成功登录到他们的计算机,所以他们希望在不输入任何凭据的情况下访问 Intranet Web 应用程序。华夫饼能做到吗?还是用户必须再次输入 Windows 凭据?

0 投票
1 回答
202 浏览

spring-mvc - Waffle 在 Tomcat 实例之间给出不同的用户名

我在 Spring 应用程序中使用 Waffle 来利用 Windows 身份验证。当我从 Gradle 运行应用程序时,一切正常。我得到诸如域\用户之类的结果。当我编译成一个战争并部署到一个独立的 tomcat 服务器时,我得到了结果 domain\pc 名称。

我真的只用这条线

String username = WindowsAccountImpl.getCurrentUsername();

关于为什么这会产生不同结果的任何想法?

编辑:我刚刚发布了带有 SO 语法错误的问题。道歉。另外,我应该提到这两个 Tomcat 实例都在同一台机器上。(Windows 7、Tomcat 8、Java 8)