有什么方法可以在我的Web应用程序中一起使用FORM和BASIC身份验证? 我有一个RESTful接口,并且我希望允许脚本通过简单的BASIC auth方法使用它,但是我也想为Web客户端提供基于FORM的身份验证。 我希望webapp响应302 Moved Temporarily重定向到登录页面以处理未经授权的请求,但是如果发现客户端正在发送带有用户名和密码的BASIC身份验证的HTTP标头,则像在BASIC身份验证中一样接受它们。

我看到使用单个web.xml配置是不可能的,但是想知道是否还有其他人对此有某种解决方案。

#1楼 票数:1

可以使用过滤器吗?

检查标题请求。 如果存在,则执行登录过程并将会话数据等添加到请求中。 如果失败,则忽略它或重定向。

#2楼 票数:0 已采纳

如果我配置了容器身份验证,那么未经身份验证就永远不会调用我的代码。 所以答案是否定的。 Jenkinks CI和类似的软件使用基于FORM的身份验证来获取一组受限的Web资源,并在更灵活的地方使用Spring Security。

  ask by jabal translate from so

未解决问题?本站智能推荐:

1回复

Tomcat使用BASIC身份验证而不是FORM身份验证

我在Tomcat中遇到了一个非常奇怪的问题:在Tomcat 6上运行的我的Webapp与BASIC auth配合得很好。 但是,我想切换到基于FORM的身份验证。 但是当我从以下位置更改web.xml时: 在这里 Tomcat仍使用BASIC身份验证。 两个登录文件都存在。
1回复

servlets/jsp-在安全性约束中不使用任何角色时的FORM身份验证

我试图创建FORM身份验证,但我不需要任何角色。 我要阻止的模式是“ /数字”,所以我尝试: 但是它不起作用,因为它允许每个人都/ numbers而不要求进行身份验证,因此,如果我在其中放置一些角色,它将开始起作用。 有一种方法可以控制没有角色的授权(仅通过身份验证即可)?
3回复

从SpringBoot中的Basic身份验证中删除WWW-authenticate头

我正在使用SpringBoot设计REST API。 与此同时,我正在构建一个使用该API的SPA。 为了安全起见,我选择了Basic Auth,它很容易设置。 我现在面临401挑战问题。 当我的SPA向我的API发出请求时,如果auth失败,浏览器会显示我想要删除的经典登录弹出窗口。
1回复

如何强制Jetty在会话失效后使用BASIC身份验证请求凭据?

我正在使用带有BASIC身份验证的jetty 6.1.22作为我的登录机制。 我第一次登录Web应用程序时,浏览器会请求用户名和密码。 如果它尝试使用session.invalidate()注销,则会话无效但凭据将被缓存。 这意味着如果我尝试连接到安全URL,我将看到不同的会话ID,但没
1回复

如何使用Java中的身份验证连接到Cassandra集群?

我正在使用Cassandra 3.7。 我正在使用AuthProvider进行身份验证。 我尝试了两种方法: 和 我收到以下错误: 是什么导致错误,我该如何解决?
1回复

使用信任模式的Mongodb身份验证在Java中失败

我有一个在localhost上运行的Mongodb服务器,没有身份验证(测试目的)。 在我的Java项目中,我添加了一个身份验证字段(以便用户可以修改配置,如果它在信任模式下,则只需将其留空)。 问题是,它被拒绝了,在Mongodb中,我得到: 星期六07月15日15:04:17.01
1回复

使用ApacheLDAP的Java中的LDAP身份验证

您能否为我提供一个简单的apache LDAP认证示例。 以下是我的示例代码片段。
2回复

使用Java中的服务帐户进行LDAP身份验证

我正在尝试使用创建的服务帐户从LDAP验证用户。 我在ctx = new InitialDirContext(env)上得到以下错误; [LDAP:错误代码49 - 8009030C:LdapErr:DSID-0C0903A8,注释:AcceptSecurityContext错误,数据2