问题标签 [spring-security]

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 投票
2 回答
15431 浏览

security - Spring - 安全性:登录用户名和密码如何绑定到身份验证提供程序?

我是弹簧和弹簧安全的新手,

我已经了解 bean 是如何在 xml 文件中创建和引用的,我需要在我的应用程序中使用 spring 来提供安全性。

我在 web.xml 中包含了一个自定义 applicationContext-security.xml 文件: contextConfigLocation

在这个文件中,我使用截获了 url 模式

内部元素。

我现在已经设置了登录表单,如果页面未经授权,它会显示我的自定义 Login.html 页面。

现在对于我面临的问题:

  1. 如何指定我的登录表单以将其值传递给 spring ?
  2. 如何使用我自己的 authentication-provider ?

我试过这个:

其中 CustomAuthenticationProvider 实现 AuthenticationProvider

但代码抛出一个错误:Error Creating bean with name '_filterChainProxy' .... No UserDetailsS​​ervice registered

请帮忙

0 投票
1 回答
882 浏览

gwt - 我在春天需要一个简单的自定义身份验证

我需要在 spring 中进行自定义身份验证,它应该是一个简单的类,它接受用户提供的用户名和密码并将其与一些值进行比较,并以此为基础进行身份验证。

我们正在使用 GWT 制作的系统,我们的登录表单在成功时会在新窗口中打开另一个页面。

这是我到目前为止所尝试的:文件:应用程序上下文安全性:

自定义登录代码(单击确定按钮):

问题:

  1. 登录不正确:它显示成功并打开包含登录屏幕的弹出窗口!(显然登录没有成功,但登录屏幕无法检测到)
  2. 我不想对身份验证提供程序中的值进行硬编码,是否有另一种方法可以让我提供自己的类?我尝试了几个教程但徒劳无功,它们似乎都指向我允许 spring 通过数据库或其他类型的文件进行比较工作,我不能自己做吗?
0 投票
7 回答
5941 浏览

java - 如何集成 Spring Security 和 GWT?

我正在尝试集成 Spring Security 和 GWT。我也在使用 gwt-incubator-security。我按照他们的 wiki 页面上的描述配置了所有内容。我设法通过使用拦截 URL 使安全性工作,但我无法使用注释使其工作。关于问题是什么的任何想法?

PS 我正在使用 Spring 2.5.6、Spring Security 2.0.5 和 gwt-incubator-security 1.0.1。欢迎任何有用的链接和评论。

这是我的配置文件

应用程序上下文.xml

web.xml

spring-servlet.xml

这是我尝试与 Spring Security 集成的示例项目:http ://www.filedropper.com/springtest_1

0 投票
1 回答
4996 浏览

java - spring security:帐户锁定和未启用有什么区别

UserDetails 界面有两个属性似乎相同,锁定和启用。

这些难道不是彼此相反的吗?

0 投票
1 回答
1292 浏览

java - 使用 3.0.0.RC1 的 Spring DAO 中的并发问题

从 Spring 3.0.0.M4 升级到 3.0.0.RC1 和 Spring Security 3.0.0.M2 到 3.0.0.RC1 后,我不得不使用 security:authentication-manager 标签,而不是像我一样定义 _authenticationManager习惯于 M4/M2。我已经尽力定义它,并最终得到了这个:

当我一次做一个单元测试时,这很好用,并且对于大多数 AJAX 请求它也可以正常工作,但似乎是随机的,我的事务中出现奇怪的错误,我的数据库会话似乎在工作中途关闭。我可以引发这些错误的方法只是从同一个客户端向我的不同控制器发送许多不同的 AJAX 请求,然后其中至少一个会随机失败。下次我尝试时,一个会工作,另一个会失败。

该错误在我的 userDAO 中最常发生,但在其他 DAOS 中也经常发生,异常至少包括以下内容:

  • “java.sql.SQLException:ResultSet 关闭后不允许操作”
  • “org.hibernate.impl.AbstractSessionImpl:errorIfClosed():会话已关闭!”
  • “com.mysql.jdbc.PreparedStatement.fillSendPacket 的 java.lang.NullPointerException(PreparedStatement.java:2439)”
  • “java.util.LinkedHashMap$LinkedHashIterator.nextEntry(未知来源)处的 java.util.ConcurrentModificationException”
  • “org.hibernate.LazyInitializationException:非法访问加载集合”
  • ETC...

以前,我曾经定义一个 _authenticationManager bean,同样的请求就像一个魅力。但是对于 RC1,我不再被允许定义它。它曾经看起来像这样:

我是否错误地定义了我的 security:authentication-manager 以便它将共享来自同一客户端的多个请求的事务?我应该以不同的方式定义它,还是应该定义其他一些安全性:bean?

有什么我误解的东西使我的数据库会话关闭了吗?在我的脑海中,每个请求都有自己的数据库连接和事务。所有的 getter 和 setter 都是同步方法,所以我真的不应该有任何并发​​问题。UI 发出请求的所有 REST 控制器都是 GET 请求并执行只读工作。据我所知,在任何这些请求期间都没有完成任何一次 INSERT/UPDATE/DELETE,并且我检查了数据库日志以验证这一点。

我期待听到您关于如何避免这些竞争条件的建议。

干杯

尼克

PS,我已将问题更新为更具体地表明问题出在安全性:身份验证管理器上(或者在我看来,如果您有提示,这可能是其他很棒的东西)我'从 3.0.0.RC1 开始,我被迫使用而不是我自己的 _authenticationManager

PPS,这是让我明白我无法再定义 _authenticationManager 的线程:SpringSource 论坛帖子

0 投票
1 回答
2383 浏览

java - Spring 安全性和 Struts 2

我有一个@Secured({"ROLE_ADMIN"})用于保护执行方法的 struts2 操作。在执行方法中,我将消息分配给操作的成员变量,然后返回 SUCCESS 并最终出现在 jsp 页面上。在页面上,我使用 检索操作成员变量<sproperty>

问题是,当存在安全注释时,jsp 不会为成员变量显示任何内容,但是当@Secured被删除时,整个事情会正常运行并显示设置到成员变量中的消息。

看起来实际的安全性工作正常,但是当通过注释启用时,成员变量(或者可能是操作的实例)并没有进入值堆栈。

我看不到任何错误消息。

0 投票
1 回答
183 浏览

security - Spring Security 是否支持 Windows Live ID?

有关实时 ID 的更多详细信息: https ://accountservices.passport.net/ppnetworkhome.srf

我在 spring-security-2.0.5 中看到了 jar 文件,表明支持

  1. acl(我不知道它是什么)
  2. cas(再次不知道)
  3. NtLm
  4. 开放标识

它是否支持windows live id/是否有任何支持它的spring 扩展?

0 投票
1 回答
684 浏览

java - 将 Spring Security 与 OpenID 一起使用时出现 AccessControlException

我尝试在 Google App Engine 中使用 OpenID 实现 Spring Security,但我收到 RequestURI /j_spring_openid_security_chec 的“java.security.AccessControlException: access denied”

如果我使用 '-D--enable_all_permissions=true' 作为 VM 参数,它工作正常。

有任何想法吗?

谢谢,拉尔夫

0 投票
5 回答
965 浏览

java - 在 web 应用程序中建模用户约束的最佳实践?

我正在使用 Acegi (Spring) 安全性构建具有基于角色的访问控制的 webapp。所以我有不同的用户角色:ROLE_ADMINROLE_USER等等。
但是,我需要实现各种用户约束。

让我们考虑一个例子:

假设有一个用户可以在线观看电影的网站。有具有角色的用户ROLE_STANDARD_USERROLE_VIP_USER. 标准用户每周可以看 3 部电影,vip 用户可以每周看 10 部电影,还有其他一些特权。标准用户组中有一个用户,我想每周向他提供 2 部电影。允许的电影数量有时可能会发生变化。
此外,还有各种类型的电影:奇幻、喜剧、经典、新电影等。我希望某些用户,无论其角色如何,都只能访问某些类别。可以动态创建和删除类别。

是否有实施此类用户约束的标准做法?
可以/应该使用 Spring Security 角色和权限来完成吗?
或者我需要考虑向我的应用程序添加基于规则的引擎?

谢谢你。

编辑:
上面的例子是虚构的,我的项目是关于授予学生远程访问各种网络(和其他)设备的权限。但是,用户约束的类型很可能是相同的。
不幸的是,用户访问和约束的模型并不完整和稳定。在不久的将来,我可能会被告知为用户实施各种额外的约束,这些现在还不知道。
因此,我现在想选择一条路径,以便将来轻松添加或更改新的用户约束,并且不需要对内部模型或数据库结构进行重大改革。如果可能的话。

编辑 2

目前,基本的用户约束是硬编码的(原型系统遗留下来的)。我想我会先尝试将它重构为某种参数化的业务服务对象,然后再思考我可以从那里去哪里。我还将考虑使用 Spring Security Authorization Decision Managers。

感谢您的所有建议!

0 投票
8 回答
203249 浏览

spring - 如何在 Spring 中获取 Session 对象?

我对Spring和 Spring 安全性比较陌生。

我试图编写一个程序,我需要在服务器端使用 Spring 安全性对用户进行身份验证,

我想出了以下内容:

我的用例是,当用户通过身份验证时,我需要放置一个属性,例如:

myUserObject 是某个类的对象,我可以跨多个用户请求在整个服务器代码中访问它。