支持通过OAuth进行Facebook/Twitter认证的CAS服务器
我正在寻找CAS服务器,该CAS服务器支持Facebook/Twitter通过OAuth进行单签名的身份验证.我已经检查了Jasig-Cas服务器,但看起来并不支持它们.我的Java Web应用程序基于Spring Security 3和其他外部PHP应用程序.它是否存在具有Facebook/Twitter支持的CAS服务器?或在Jasig上提供此支持的扩展名(或示例代码)? 解决方案 Jasig Cas 3.5有望为您提供OAuth身份验证.编写此答案尚不可用.但是您可以查看3.5版的版本候选人. 在这里看看: https://wiki.jasig.org/display/casum/casum/oauth/oauth/oauth+client+suplient+suplient+suplient+upport 3.5 RC1的来源可在此处提供: https://github.com/jasig/cas/cas/ 如果您将Facebook Twitter登录到
0 2023-05-29
编程技术问答社区
如何在运行时向Spring Security添加新用户
我通过Hibernate将用户保存在DB表中,我正在使用Spring Security进行身份验证: import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.*; import org.springframework.security.config.annotation.authentication.builders.*; import org.springframework.security.config.annotation.web.configuration.*; @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired public void configur
2 2023-05-25
编程技术问答社区
spring-security 如何用ACL授予权限
我目前正在将Springs-Security集成到我们的新Web应用程序堆栈中.我们将需要能够授予用户或角色的权限,以访问特定对象或某个类型的所有对象.但是,这是我在浏览文档和示例时并没有真正得到的一件事: ACL仅授予单个对象的用户/角色的权限,还是为整个类型授予权限?据我了解,domain object是指类型,但是示例和教程似乎它们将权限分配给特定对象.我只是困惑还是可以做到?如果没有,我该怎么做? 谢谢! 解决方案 使用春季安全性,您可以同时做.这是可能的,因为春季安全支持所谓的许可规则 - 在春季安全术语中,他们称之为许可评估者.权限规则涵盖了ACL,但您也可以在对象处处于某个状态时的实例……等. 这就是它的工作方式: 您需要扩展许可evaluator-这允许您拥有用于确定访问权限的超级自定义逻辑 - 您可以检查对象的类型或检查特定ID的类型,或检查用户是否调用该方法创建对象等的用户: public class SomePermission
0 2023-05-25
编程技术问答社区
BCrypt性能恶化
我们在JBOSS服务器6.1中运行了三个Web应用程序(标准Spring MVC-Hibernate).这三个应用程序共享一种常见的身份验证方法,该方法被编译为JAR,并包含在每个战争文件中.我们的身份验证方法使用org.springframework.security.crypto.bcrypt.bcrypt到哈希用户密码,请参阅下面: hashedPassword.equals(BCrypt.hashpw(plainTextPassword, salt)); JBOSS启动选项 set "JAVA_OPTS=-Xms2048m -Xmx4096m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -verbosegc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:gc.txt -XX:+UseParallelOldGC
2 2023-05-23
编程技术问答社区
整合Pentaho BA 7社区版与CAS
最近,我正在努力将Pentaho BA(BI Server)7 CE与CAS服务器集成.我跟进彭霍(Pentaho)的官方文件. 0P0/150/010/060/000 但不幸的是,它行不通!!实际上,很难在文档中发现第5节.在我的配置中,我必须在哪里设置 casauthenticationprovider.memoryuserdetailsservice ?我从引擎中获得的只是错误,说它找不到 casauthentication -provider 类.我添加了所有必要的罐子.错误是: Cannot find class for publish type: INTERFACES specified on publish of bean id: casAuthenticationProvider 解决方案 我找到了一个线索,但我仍然无法正常工作. 您应该下载3.0.x版的春季赛车cas-cas-client,而不是2.0.5作为五角洲文档的指南. 我正在使用3
0 2023-05-23
编程技术问答社区
如何在处理Spring Security的登录请求之前拦截它?
我正在尝试拦截登录请求 Spring Security开始处理或达到Spring Security Interceptor.我想这样做,因为我必须对用户的输入进行一些验证.因此,我从 HandlerInterctectoradapter 类中创建了一个拦截器,但它不起作用. 所以我想做的是: 当任何用户尝试使用用户名和密码登录时,此请求必须首先到达 loginRequestceptorpor .对用户输入进行一些验证,然后成功地将此请求传递给弹簧安全登录处理URL 其他明智的其他URL. 但就我而言,请求直接到达弹簧安全性而无需访问拦截器. 拦截器类 public class LoginRequestInterceptor extends HandlerInterceptorAdapter { private static final Logger logger = LogManager.getLogger(LoginRequestIntercep
2 2023-05-23
编程技术问答社区
Spring Security:如何在注销时撤销刷新令牌?
我一直在四处搜索,在许多所以答案,git问题等中,我找不到仅使用Spring Security在用户注销上撤销刷新令牌的方法,而没有doreped " spring security oauth" project. 是否有一种方法可以自动管理此操作,而不是我自己手动向IDP手动提出请求? 我想做的是使用吊销的IDP端点撤销令牌,遵循 解决方案 打开 github中的问题 我在项目中创建了以下类(实现LogoutHandler): customlogouthandler.java package com.test.demo.authorization; import org.springframework.core.env.Environment; import org.springframework.security.core.Authentication; import org.springframework.security.oauth2.client.O
0 2023-05-22
编程技术问答社区
Spring Boot OAuth总是重定向到HTTP(IBM Cloud CF + Spring Boot 2)。
在IBM Cloud CF Java Buildpack上使用Spring Boot Oauth 2 ... https://github.com/eericis/oauth-cff-https-sissue *我尝试了下面的每一个组合. 使用这种配置,该应用程序被困在无尽的重定向环中,其中OAuth重定向策略将其发送到http,然后此配置将其发送到https. > http.requiresChannel().anyRequest().requiresSecure() 没有这种配置,用户可以通过http登录(不希望). 完整配置: http. requiresChannel().anyRequest().requiresSecure(). authorizeRequests(). // allow access to... antMatchers("favicon.ico", "/login", "/loginFailure
2 2023-05-22
编程技术问答社区
在Spring Boot安全中对OpenApiSwagger的403禁止规定
我有带有Spring Security的Spring Boot应用程序.配置配置级级别localhost-swagger返回403禁止.我不知道可能是什么问题. http://localhost:8080/swagger -ui.html#/-403禁止 securityConfiguration: @Configuration @EnableWebSecurity public class SecurityConfiguration { @Bean public SessionRegistry sessionRegistry() { return new SessionRegistryImpl(); } @Bean public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfi
0 2023-05-22
编程技术问答社区
即使禁用了csrf,Spring安全403禁止的错误也一直发生。
I've been following a tutorial from https://programmingtechie.com/2019/11/08/build-a-full-stack-reddit-clone-with-spring-boot-and-angular- Part-3/. ,由于某种原因,/auth/api/login REST-API继续抛出403禁止错误(访问被拒绝),即使我禁用CSRF. @Override public void configure(HttpSecurity httpSecurity) throws Exception { httpSecurity.cors().and() .csrf().disable() .authorizeRequests() .antMatchers("/api/auth/**"
10 2023-05-22
编程技术问答社区
防止重放REST网址的重放攻击
我已经使用以下逻辑来验证客户端请求. 标题字段 标题中的日期 HMAC哈希签名 身体 HMAC加密数据 iOS客户端使用帖子提出此请求,我有到期 服务器中设置为15秒. 现在的问题是,是否有人使用查尔斯(Charles)或 其他东西,如果他碰巧将断点放在URL中,并且 在15秒内发射相同的射击,NONCE将是有效的,服务器将是有效的 第二次处理请求.我该如何阻止它 发生.在这种情况下,nonce无法正常工作. 无论方法是什么,如果黑客获得最终URL 即将被解雇,他可能会发射多次 NONCE到期之前的时间...... 如何防止这种情况发生? 谁能帮助我为此找到最佳的春季安全实现? 另外,默认情况下,HTTP是否可以保护我们免于重播攻击?我们需要 SSL客户端验证(在构建中具有DER格式证书 并使用服务器证书对此进行验证)以使重播攻击使用HTTPS起作用 ?还是默认情况下在https中可用? 换句话说,我正在使用afnetw
14 2023-05-22
编程技术问答社区
为什么spring不按要求发送403响应状态?
在>我的上一个问题我被告知委托授课级别. 但是,我有一个问题,春季没有返回正确的HTTP响应状态. 这是我的覆盖配置方法 @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable(); LinkedHashMap map = new LinkedHashMap(); map.put(new AntPathRequestMatcher(WELCOME_PAGE), new Http403ForbiddenEntryPoint()); map.put(new AntPathRequestMatcher(FOOD_SELECTION_PAGE + "/**"), new Http403ForbiddenEntryPoint())
20 2023-05-22
编程技术问答社区
Spring Security-我如何阻止对任何网址的访问,除了按角色列出的几个网址之外?
因此,我拥有这个具有三组不同角色的Web应用程序.其中之一应该允许任何人查看即使没有登录.然后,有一组页面必须登录,但是如果他们具有"候选人"的角色,则无法访问.最后,"候选人"的角色可能只能在/候选/id 上查看其页面 基本上,除了下面列出的链接外,是否有一种方法可以阻止对任何URL的访问?还是我需要指定每个链接,例如/仪表板/profile http.authorizeRequests() .antMatchers("/").permitAll() .antMatchers("/index").permitAll() .antMatchers("/static/**").permitAll() .antMatchers("/assets/**").permitAll() .antMatchers("/register").permitAll()
0 2023-05-22
编程技术问答社区
Spring Security自定义HTML登录页面未被呈现
我遵循了这一点登录页面.但是,当我访问本地主机/登录时,我面临错误状态500. 当我访问Localhost:8080/login. 时,我无法呈现一个简单的HTML页面 是否需要额外的配置? HTML页面是否应该位于模板文件夹中?应用程序如何知道它应该渲染" login.html"? 我的控制器是否被识别? config import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframewor
18 2023-05-22
编程技术问答社区
Java中的URL路径匹配器(春季)
在我们的应用程序中,我们正在创建请求过滤器,该请求过滤器不应击中某些URL.我们希望能够排除诸如春季do do Witch URL模式之类的URL,例如: // register filter in bean FilterRegistrationBean filterBeanRegistration = new FilterRegistrationBean(); filterBeanRegistration.setFilter(myFilter()); filterBeanRegistration.addInitParameter("excluded", "*/foo/**, */bar/**"); ... 和新的过滤器不会击中domain:8080/aaa/foo/xxxx,domain:8080/bbb/bar/xxxx. 的URL 您能告诉我如何使用春季课或另一种简单的方式做到这一点?谢谢您的建议. 编辑: 有FilterBeanRegistration#add
8 2023-05-21
编程技术问答社区
grails spring安全登录不工作
我正在使用Grails 2.1.0.我已经安装了春季核心插件. 创建用户时,它正在创建它.但是当我尝试登录时,它显示了: "Sorry, we were not able to find a user with that username and password." ,还有另一个事实是,当我为不同用户使用相同的密码时,它不会保存使用类似编码值的密码,例如用户1我使用了密码123,它保存在数据库中,例如这样 d535ce213a0e8e4f9e724af47c46eea409ef401c03617b749da618a82890d743 和用户2我还使用了密码123,这一次是像这样保存的 0849ea79a2c1bca057ded06c3053fb5bc5d7ba52b50982e73e44894d4f3e0aa6 我不明白.有人可以帮我吗? 我的config.groovy >>> // locations to search
2 2023-05-21
编程技术问答社区
CAS DB认证的 "编码 "密码加密不能与使用Spring Security'的ShaPasswordEncoder加密的数据库密码匹配。
我当前正在配置CAS Server v5.0.2以使用数据库身份验证,尤其是使用CAS属性文件的编码方法.以下是属性文件的相关属性配置: cas.authn.jdbc.encode[0].sql=SELECT * FROM public.vt_user WHERE email=? cas.authn.jdbc.encode[0].driverClass=org.postgresql.Driver cas.authn.jdbc.encode[0].url=jdbc:postgresql://localhost:5432/tracking cas.authn.jdbc.encode[0].user=postgres cas.authn.jdbc.encode[0].password=postgres cas.authn.jdbc.encode[0].saltFieldName=salt cas.authn.jdbc.encode[0].passwordFieldName=passwor
6 2023-05-21
编程技术问答社区
通过spring security将密码传递给dao对象
我正在使用Struts2和Spring Security创建一个应用程序,并且没有问题/问题. 如何将密码传递给DAO以将密码和用户名与DB的结果进行比较?我知道可以通过实现UserDetailsService并覆盖方法 来传递用户名. public UserDetails loadUserByUsername(String username) 第二个问题是我从Overriden loadUserByUsername()中调用方法SecurityContextHolder.getContext().getAuthentication()获得了零对象.这是为什么?再说一次 - 如何获取用户将填写j_password字段的密码. 以下是我的代码: web.xml
0 2023-05-21
编程技术问答社区
春天安全加密MD5
我有一个使用Spring Framework和Spring Security登录的Java Web应用程序.在我的数据库中,在保存之前,我将密码加密到MD5.我在我的application-config.xml中添加了此代码
2 2023-05-21
编程技术问答社区
Spring Security自定义认证和密码编码
那里有教程,还是有人对如何使用春季安全进行以下操作? 任务: 我需要从数据库中获取盐以进行身份​​验证用户名,并使用它来加密提供的密码(从登录页面)将其与存储的加密密码进行比较(又称用户身份验证用户). > 其他信息: 我使用自定义数据库结构. A UserDetails对象是通过自定义UserDetailsService创建的,该对象又使用自定义Daprovider从数据库获取信息. 我的security.xml到目前为止的文件: 现在我想我需要 但是还有什么?
2 2023-05-21
编程技术问答社区