问题标签 [security-context]
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.
java - Spring Security:SecurityContextHolder.getContext().getAuthentication() 在用户注册用户并重定向到登录页面后返回 null
用户注册成功后,我试图将用户重定向到登录页面后并尝试从 SecurityContextHolder.getContext().getAuthentication(); 这是返回null。
这是用户成功注册后我设置上下文的方式
然后我使用 response.sendRedirect(url); 将用户重定向到 x 页面;
在控制器方法中,我试图将当前用户作为
我在控制台中看到文本为“这是空的”。
如何在整个用户期间从 SecurityContext() 中保留当前用户/主体,直到用户注销。
forms - 避免在 Symfony 表单中使用 security.context
对于每篇文章,都会显示评论列表。我希望用户能够编辑他们自己的评论(并且只有他们自己的评论)。我想知道使用方法 2 是否可以,或者是否存在安全漏洞?
方法一
到目前为止,我使用表单中的 security.context 来检查当前评论作者是否是 current_user。如果是,那么我可以在我的表单中添加一个带有 comment.text 的文本区域,以便用户可以编辑其评论。(但我的表单因此必须定义为服务,以便我可以注入 security.context)
在我的表单中(定义为服务,以便我可以注入 security.context)
方法_2
我尝试了一些不同的东西,它似乎工作正常(此外,我不必将我的表单定义为服务,因为我没有在我的表单中使用 security.context。)
我为我的实体评论创建了一个 EditAutorisation 属性。从控制器,我检查 current_user 是否是评论的作者。如果是,我将 EditAutorisation 设置为 true。
然后在我的表单中,我只需检索 EditAutorisation 的值
PS:在这两种情况下,我都在表单中使用 EventListener PRE_SET_DATA 来访问对象 $comment
我不太喜欢methode2,因为我不必将它定义为服务。但是因为我可以在控制器中进行测试,并在 PHP 中的 FORM 中轻松使用测试结果(使用 eventListener 获取 $comment->getEditAutorisation())和 TWIG(使用 {{ comment.EditAutorisation }})
jakarta-ee - Wildfly、JAAS 和 SecurityContext
我仍然在使用BASIC auth-method
. 当我的自定义登录模块工作时,我遇到了一些关于授权的问题。我使用带有注释的 RESTeasy RESTFul Web 服务进行测试,代码如下:
我的登录模块被正确调用并生成了一个包含一个Group
named的主题,但是当我尝试访问时,我总是得到一个错误。我使用方法检查但总是返回。我想念如何和工作,怎么知道一个主题?更重要的是:我想了解更多信息,将不胜感激链接到资源和文档。Roles
Principal
userA
.../service/userA
403
test
subject
ctx.getUserPrincipal()
null
LoginModule
SecurityContext
SecurityContext
更新:在我web.xml
使用 RESTEasy 安全性:
我是否用 RESTEasy 安全性搞乱了 EJB 安全性?
jax-rs - 获取当前用户的所有角色
一旦我有一个委托人登录,我怎样才能获得一个用户的所有角色?
我正在创建一个 Java EE 6 应用程序,并且正在编写一个 JAX-RS 服务来返回当前用户的所有角色,这些角色将由前端使用以正确呈现屏幕。
我知道有多个界面可以返回用户是否是某个角色的成员,但我想要的是一个允许我获取该特定用户的所有角色的界面。
java - Jersey SecurityContext 有什么好处,以及如何使用它?
我有这样的 API
一个参数是 Jersey SecurityContext。我的问题是,我能用这个安全上下文做什么?对这个 api 的请求是什么样的?
我已阅读此https://jersey.java.net/documentation/latest/security.html但我根本没有完全了解 SecurityContext。
Wished Behavior 将发送两个信息作为字符串,如用户和键(如果可能)。
java - 异步 Spring 侦听器中的 SecurityUser
我面临一个问题,希望有人能给我一些建议。我有一个允许 HTTP 请求的宁静 Spring 应用程序。我正在使用 spring security 并提供 oauth2。在由控制器调用的基本服务中,我通过以下方式获取当前登录的用户:
到目前为止,一切正常。此外,我正在使用实现 org.springframework.context.ApplicationListener 接口的事件和事件侦听器。我将应用程序事件多播器配置为异步处理事件的方式(使用 SimpleAsyncTaskExecutor)。
当我尝试在我的侦听器中使用我的服务(以及依赖于当前登录用户的方法)时,就会出现(明显的)问题。他们无法访问上下文,因为他们正在异步工作。因此,我无法获取当前用户。
你能给出任何建议如何解决这个问题吗?是否有更多的选择
- 以某种方式保存和扩展上下文,以便异步侦听器仍然可以访问它?如果是这样,该怎么做?
- 更改所有服务方法以通过参数移交用户(而不是服务获取当前用户本身)并将其 id 存储在事件中。
非常感谢。我
java - Jetty:使用安全领域进行身份验证 - HTTP ERROR 401 Unauthorized
我正在尝试创建一个简单的 Web 应用程序,其中包含球衣、嵌入式码头和具有 BASIC 身份验证的 SecurityContext,reaml 从/tmp/realm.properties 上的属性文件中获取用户数据。似乎由于任何原因没有读取属性文件,我在 Linux 内核上使用了审计规则,发现属性文件没有被任何进程访问。我已经阅读了很多教程和官方文档(https://wiki.eclipse.org/Jetty/Tutorial/Realms),但似乎有些东西不起作用。
/test/free > 没有安全上下文(我可以通过休息电话到达)
/test/test > 带有安全上下文(我得到 HTTP ERROR 401 Unauthorized)
卷曲http://127.0.0.1:8080/test/test -u foo:bar
这是我的代码:
资源:
web.xml
jetty-web.xml
领域属性
提前致谢
java - 如何获取非当前用户的 SecurityContext?
我找不到答案。我知道我可以为当前登录的用户获取 SecurityContext
但我想获得没有当前记录的上下文。不确定我可以为这个问题提供哪些更多信息:我可以访问他之前设置的身份验证和主体。我可能可以获得更多我需要的信息。
symfony - 在 Symfony2 中,我如何获得用户角色的完整列表
我想将经过身份验证的用户角色列表传递给我的前端应用程序,这样我就可以在前端和后端使用相同的访问控制结构。
我正在查看安全/身份验证类,因为这是 isGranted 函数让我执行此操作的地方
我找不到任何东西来获取角色列表,这不是受支持的功能吗?
注意:我不想要整个角色层次结构,只想要经过身份验证的用户的角色列表
windows - InitializeSecurityContext (Schannel) 不改变 BufferType
所以我有以下代码:
问题是,在Windows 8.1或Windows 10平台上执行此代码后,input_buffers[1].BufferType
设置为4。如果它在Windows Server 2012 R2上执行,则input_buffers[1].BufferType
保持0 (SECBUFFER_MISSING)并且我最终会出错。有谁知道为什么InitializeSecurityContext (Schannel) 函数没有改变input_buffers[1]
Windows Server 上的类型?
我非常感谢您能提供的任何帮助。
两个平台上返回的编辑 1
状态相同 (-2146893032),只是在 Win 8.1/10 功能更改input_buffers[1].BufferType
为 4。
编辑 2 在 Win 8.1/10 上,它进入此案例选项的 else 分支,在 Win Server 2012 R2 中,它进入 if 分支。在所有平台上,状态设置为 SEC_E_INCOMPLETE_MESSAGE (-2146893032)