spring security 3.1注册后自动登录

网上搜索一大圈,最后发现http://www.ke-cai.net/2010/11/auto-login-after-successful.html里讲述的是最接近答案的,但一测试,发现验证是通过了,session却没有保存,接着再搜,发现了一篇文章说到了这个问题,http://stackoverflow.com/questions/5428654/spring-security-auto-login-not-persisted-in-httpsession,按照它提供的解决方法发现session能保存了。 最后要解决的一件事是验证失败处理,上面两篇文章都没说,参考spring security document解决了,最后代码如下: 在controller里边声明AuthenticationManager变量,这个是关键点: @Autowired @Qualifier(“org.springframework.security.authenticationManager”) protected AuthenticationManager authenticationManager; 然后是当注册成功后的代码: @RequestMapping(value = “/registermyuser”) public ModelAndView registeruser( Locale locale,HttpServletRequest request) { System.out.println(“register user”); UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken( “heda”, “111111”); //request.getSession(); try{ token.setDetails(new WebAuthenticationDetails(request)); Authentication authenticatedUser = authenticationManager .authenticate(token); SecurityContextHolder.getContext().setAuthentication(authenticatedUser); request.getSession().setAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY, SecurityContextHolder.getContext()); } catch( AuthenticationException e ){ System.out.println(“Authentication failed: ” + e.getMessage()); return new ModelAndView(new …

CAS单点登录与Springboot的security整合

cas 企业单点登录 Spring Webflow / Spring启动Java服务器组件。 可插拔身份验证支持(LDAP, 数据库,X.509,SPNEGO, JAAS,JWT, RADIUS,MongoDb等) 支持多种协议(CAS,SAML,WS-Federation, OAuth2,OpenID,OpenID Connect) 通过各种提供商(Duo Security,FIDO U2F, YubiKey,Google Authenticator等)支持多因素身份验证 支持授权外部提供商(如ADFS,Facebook,Twitter,SAML2 IdP等)的身份验证 实时监控和跟踪应用程序行为,统计信息和日志。 使用特定的认证策略管理和注册客户端应用程序和服务。 跨平台客户端支持(Java,.Net,PHP,Perl,Apache等)。 与InCommon,Box,Office365,ServiceNow,Salesforce,Workday,WebAdvisor,Drupal, Blackboard,Moodle,Google Apps等集成。 springboot特征 创建独立的Spring应用程序 直接嵌入Tomcat,Jetty或Undertow(不需要部署WAR文件) 提供有意思的“启动”POM来简化您的Maven配置 尽可能自动配置弹簧 提供生产就绪功能,如指标,运行状况检查和外部化配置 绝对没有代码生成,也不需要XML配置 应用新增spring security、spring-security-cas依赖 springboot应用添加安全框架spring security和spring-security-cas客户端。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-cas</artifactId> </dependency> <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</version> </dependency> spring-security与cas客户端整合 应用实现spring-security权限控制时,需要实现AuthenticationUserDetailsService接口或者UserDetailsService接口,来完成登陆验证。springboot要启用权限控制,必须要启用**@EnableWebSecurity**。如果需要对配置扩展,继承实现WebSecurityConfigurerAdapter配置类。 实现AuthenticationUserDetailsService接口 public class …

Spring Security 自定义 登陆 权限验证

项目简介 基于Spring Cloud 的项目,Spring Cloud是在Spring Boot上搭建的所以按照Spring Boot的方式来写 Spring Security 配置 继承 WebSecurityConfigurerAdapter ,重写configure(HttpSecurity http)配置相关权限以及重写拦截器 http.authorizeRequests() .antMatchers(“/auth/**”).permitAll() .anyRequest().authenticated().and() //证书 认证 自动登陆 .addFilterBefore(authTokenFilter, UsernamePasswordAuthenticationFilter.class) //登陆以及权限控制Filter …… ; 自定义UsernamePasswordAuthenticationFilter 自定义 UsernamePasswordAuthenticationFilter 实现自动登陆 创建Authentication 模拟登陆 Authentication authentication = new UsernamePasswordAuthenticationToken(auth, token); SecurityContextHolder.getContext().setAuthentication(authentication);; 自定义FilterSecurityInterceptor Spring Security 是通过这个过滤器来实现 Http资源安全过滤的。 获取资源权限 FilterSecurityInterceptor继承自 AbstractSecurityInterceptor ,源码中的其中beforeInvocation方法的一段代码是: Collection<ConfigAttribute> attributes = this.obtainSecurityMetadataSource() .getAttributes(object); 这个方法是来获取资源权限 ,可以重写SecurityMetadataSource obtainSecurityMetadataSource(){}方法来实现,传入一个FilterInvocation对象,返回一个Collection<ConfigAttribute>对象。 …

Oct.22,2018 warning IP

2018.6.22,ip:1.204.197.35,(陌生的地址)登陆本机成功 2018.8.3,ip:24.57.112.88,(陌生的地址)登陆本机成功 2018.8.14,ip:27.152.85.148,(陌生的地址)登陆本机成功 2018.8.16,ip:72.139.207.95,(陌生的地址)登陆本机成功

vs2017 sn

企业版:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF 专业版:KBJFW-NXHK6-W4WJM-CRMQB-G3CDH https://blog.csdn.net/LHX_ldm/article/details/80906909

WordPress禁止访问wp-admin

WPS Hide Login是个非常小巧的wordpress插件,通过WPS Hide Login插件可以轻松地修改wordpress后台管理登录url,并禁止访问wp-admin目录和wp-login.php页面,该插件不会重命名或修改程序核心文件,停用插件即可恢复原来的登录地址,非常简单易操作。 注意:如果有使用缓存插件,需要把设置的登陆url添加到不被缓存的页面列表中。 插件使用方法: 1、下载插件WPS-Hide-Login.zip(或者直接在网站后台搜索WPS Hide Loginp安装) 2、安装完成启用插件后,进入后台的设置——常规里,在最下面会出现“Login url”设置,输入要自定义的登录url后缀,如下图: 3、然后点击“保存更改”即可。以后登录后台就使用设置好的Login url地址,wordpress默认登录地址打开会提示“This has been disabled”。 提示:如果忘记了登录地址,就通过FTP进入wp-content/plugins/目录删除WPS Hide Login文件夹即可。 PS:插件基于wordpress 4.9.1版本测试可用!

CA link

CIC: https://www.canada.ca/en/immigration-refugees-citizenship/services/application/account.html RBC: https://www.rbcroyalbank.com/personal.html CIBC: https://www.cibc.com/en/personal-banking.html CAPITAL ONE: https://verified.capitalone.com/sic-ui/#/esignin?Product=Card ENWIN: https://myaccount.enwin.com/CC/connect/authentication/Login.xml UNION GAS: https://myaccount.uniongas.com/login.aspx?ReturnUrl=%2faccountSummary.aspx RELIANCE: https://secure6.i-doxs.net/Reliance/SignIn.aspx COGECO: https://myaccount.cogeco.ca/acpub/login/?goto=https%3A%2F%2Fmyaccount.cogeco.ca%2Facauth%2Fall%2Foverview%2F