草庐IT

SECURITY_PRINCIPAL

全部标签

java - 将 Spring Security 3.x 配置为具有多个入口点

我一直在使用SpringSecurity3.x来处理我的项目的用户身份验证,到目前为止,它运行完美。我最近收到了一个新项目的要求。在这个项目中,它需要两组用户身份验证:一组根据LDAP对员工进行身份验证,另一组根据数据库对客户进行身份验证。我对如何在SpringSecurity中配置它感到有些困惑。我最初的想法是创建一个包含以下字段的登录屏幕:-单选按钮字段-供用户选择他们是员工还是客户。j_username用户字段。j_password密码字段。如果用户选择“员工”,那么我希望SpringSecurity根据LDAP对他们进行身份验证,否则凭据将根据数据库进行身份验证。但是,问题是表

java - Spring Security 可以在 Spring Controller 方法上使用 @PreAuthorize 吗?

SpringSecurity可以在SpringController方法上使用@PreAuthorize吗? 最佳答案 是的,它工作正常。您需要在...-servlet.xml.它还需要CGLIBproxies,所以要么你的Controller不应该有接口(interface),要么你应该使用proxy-target-class=true. 关于java-SpringSecurity可以在SpringController方法上使用@PreAuthorize吗?,我们在StackOverfl

java - 如何将自定义权限填充器与 Spring Security 和 ActiveDirectoryLdapAuthenticationProvider 一起使用?

我已通过LDAP成功连接到ActiveDirectory以进行身份​​验证,并在我的ldap.xml中使用以下内容调用了我的自定义权限填充器:follow这很好用,我可以根据用户的组成员身份确定用户的授权,但我宁愿通过内置的ActiveDirectoryLDAP身份验证提供程序来做到这一点:上面的问题是我的自定义权限填充器(显然)没有被调用,所以虽然我可以验证我的用户(适用于上面),但我没有组(我需要确定授权).我觉得这是一个简单的问题,但在我的一生中,我无法在这里或其他任何地方找到答案。我是否必须扩展ActiveDirectoryLdapAuthenticationProvider类

angularjs - 如何配置 Spring Security 发送 'X-CSRF-TOKEN' ?

问题是让CSRFtoken在SpringSecurity和Angular之间工作。SpringSecurityCSRFTokenInterceptorforAngular看起来应该可以完成这项工作,但服务器的HEAD响应中没有“X-CSRF-TOKEN”。我目前的微型实现在GitHub中可用(标记v.1.0)如果知道该主题的人能够快速查看代码,我将不胜感激,问题应该很容易发现。根据文档,我的印象是应该自动启用CSRF,但似乎并非如此。如果需要进行不同的配置,我正在使用SpringBoot,并且更喜欢基于注释的配置而不是XML。还有其他方法可以让SpringSecurity对抗Angul

Spring Security - UserDetailsS​​ervice 实现 - 登录失败

我对Spring还很陌生,我遇到了SpringSecurity的问题。实际上它只有在没有我的自定义UserDetailsS​​ervice实现的情况下才有效。帐户和角色对象@Entity@Table(name="ACCOUNT",uniqueConstraints={@UniqueConstraint(columnNames="USERNAME"),@UniqueConstraint(columnNames="EMAIL")})publicclassAccountimplementsSerializable{privatestaticfinallongserialVersionUID=

Spring Security 自定义身份验证失败处理程序重定向参数

我遇到了SpringSecurity身份验证失败处理程序重定向参数的问题。在我使用时的安全配置中failureUrl("/login.html?error=true")它有效。但是当我使用自定义身份验证失败处理程序(如下所示)时,它总是返回:url/login.htmlgetRedirectStrategy().sendRedirect(request,response,"/login.html?error=true");或response.sendRedirect(request.getContextPath()+"/login.html?error=true");我不知道怎么了。为

spring - 使用 Spring Security 从 JWT token 中提取当前登录的用户信息

我已经使用SpringSecurityOauth2实现了JWT和LDAP身份验证。它似乎工作正常,我可以使用我的LDAP凭据登录。现在,我需要使用当前登录的用户信息将详细信息保存在数据库中-特别是当该用户添加/更新新记录时。我尝试使用Spring安全方式使用SecurityContextHolder.getContext().getAuthentication().getDetails()但它不会返回我在JWT中拥有的所有信息。它只返回远程IP、JWTtoken值和经过身份验证的true。它甚至不返回name()。我是JWT的新手,所以不确定是否需要通过读取该token来提取它,甚至不

Spring 安全 : How to rename the "_spring_security_remember_me" checkbox field?

在SpringMVC3.1应用程序中,我尝试实现remember-me功能(信息保存在数据库中)。这是我目前拥有的:我创建了一个persistent_logins表。我的安全上下文文件中有这个:在我的login.jsp中,我有:username:password:rememberme:在“”bean中,我已经能够使用username-parameter和密码参数。但我找不到重命名“_spring_security_remember_me”复选框字段的方法。知道如何重命名吗? 最佳答案 这是使用parameter设置的Remember

java - 如何使用 Spring Security Java 配置将 HTTP 请求重定向到 HTTPS?

我有一个SpringSecurity3.2.3版应用程序,它同时监听HTTP和HTTPS。我希望对HTTP端口的任何请求都重定向到HTTPS。如何仅使用Java进行配置?SpringSecurityjavadocforHttpSecurity提出以下解决方案(精简到本质):publicclassWebSecurityConfigextendsWebSecurityConfigurerAdapter{protectedvoidconfigure(HttpSecurityhttp){http.channelSecurity().anyRequest().requiresSecure();}

Spring Security 禁用登录页面/重定向

有没有办法禁用SpringSecurity和登录页面的重定向。我的要求指定登录应该是导航菜单的一部分。例子:因此没有专门的登录页面。登录信息需要通过Ajax提交。如果发生错误,它应该返回指定错误的JSON并使用正确的HTTP状态代码。如果身份验证检查它应该返回200,然后javascript可以从那里处理它。我希望这是有道理的,除非有任何更简单的方法可以使用SpringSecurity来实现这一点。我对SpringSecurity没有太多经验。我认为这必须是一种常见的做法,但我没有找到太多。当前的spring安全配置@Configuration@EnableGlobalMethodSe