• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java PasswordValidator类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.passay.PasswordValidator的典型用法代码示例。如果您正苦于以下问题:Java PasswordValidator类的具体用法?Java PasswordValidator怎么用?Java PasswordValidator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



PasswordValidator类属于org.passay包,在下文中一共展示了PasswordValidator类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: isValid

import org.passay.PasswordValidator; //导入依赖的package包/类
@Override
public boolean isValid(final String password, final ConstraintValidatorContext context) {
    // @formatter:off
    final PasswordValidator validator = new PasswordValidator(Arrays.asList(
        new LengthRule(8, 30), 
        new UppercaseCharacterRule(1), 
        new DigitCharacterRule(1), 
        new SpecialCharacterRule(1), 
        new NumericalSequenceRule(3,false),
        new AlphabeticalSequenceRule(3,false),
        new QwertySequenceRule(3,false),
        new WhitespaceRule()));
    final RuleResult result = validator.validate(new PasswordData(password));
    if (result.isValid()) {
        return true;
    }
    context.disableDefaultConstraintViolation();
    context.buildConstraintViolationWithTemplate(Joiner.on(",").join(validator.getMessages(result))).addConstraintViolation();
    return false;
}
 
开发者ID:Baeldung,项目名称:spring-security-registration,代码行数:21,代码来源:PasswordConstraintValidator.java


示例2: passwordComplexityCheck

import org.passay.PasswordValidator; //导入依赖的package包/类
private boolean passwordComplexityCheck(String password){

		PasswordValidator validator = new PasswordValidator(Arrays.asList(
				new LengthRule(8,20),
				new UppercaseCharacterRule(1),
				new LowercaseCharacterRule(1),
				new DigitCharacterRule(1),
				new SpecialCharacterRule(2),
				new WhitespaceRule()
		));
		RuleResult result = validator.validate(new PasswordData(password));
		if(result.isValid()){
			return true;
		}
		else{
			for (String msg : validator.getMessages(result)) {
				Toast.makeText(this, msg,Toast.LENGTH_SHORT).show();
			}
			return false;
		}
	}
 
开发者ID:h3ph4est7s,项目名称:Helepolis,代码行数:22,代码来源:MainLoginActivity.java


示例3: isValid

import org.passay.PasswordValidator; //导入依赖的package包/类
@Override
public boolean isValid(final String password, final ConstraintValidatorContext context) {
    final PasswordValidator validator = new PasswordValidator(singletonList(
        new LengthRule(8, 30)
        // More rules can be added to increase security
    ));

    final RuleResult result = validator.validate(new PasswordData(password));
    if (result.isValid()) {
        return true;
    }

    context.disableDefaultConstraintViolation();
    context.buildConstraintViolationWithTemplate(
        validator.getMessages(result).stream().collect(joining("\n"))
    ).addConstraintViolation();

    return false;
}
 
开发者ID:membaza,项目名称:users-service,代码行数:20,代码来源:PasswordConstraintValidator.java


示例4: isValid

import org.passay.PasswordValidator; //导入依赖的package包/类
@Override
public boolean isValid(final String password, final ConstraintValidatorContext context) {
    final PasswordValidator validator = new PasswordValidator(Arrays.asList(new LengthRule(8, 30), new UppercaseCharacterRule(1), new DigitCharacterRule(1), new SpecialCharacterRule(1), new WhitespaceRule()));
    final RuleResult result = validator.validate(new PasswordData(password));
    if (result.isValid()) {
        return true;
    }
    context.disableDefaultConstraintViolation();
    context.buildConstraintViolationWithTemplate(Joiner.on("\n").join(validator.getMessages(result))).addConstraintViolation();
    return false;
}
 
开发者ID:RamuRChenchaiah,项目名称:SpringSecurity-registration-login,代码行数:12,代码来源:PasswordConstraintValidator.java


示例5: validate

import org.passay.PasswordValidator; //导入依赖的package包/类
@Override
public void validate(IValidatable<String> validatable) {
	String password = validatable.getValue();
	
	if (Boolean.FALSE.equals(propertyService.get(BasicApplicationCorePropertyIds.SECURITY_PASSWORD_VALIDATOR_ENABLED)) || !StringUtils.hasText(password)) {
		return;
	}
	
	User user = userModel != null ? userModel.getObject() : null;
	
	PasswordData passwordData = new PasswordData(password);
	
	List<Rule> passwordRules = Lists.newArrayList(securityManagementService.getOptions(typeDescriptor.getEntityClass()).getPasswordRules());
	
	if (user != null && StringUtils.hasText(user.getUserName())) {
		passwordData.setUsername(user.getUserName());
	} else {
		passwordRules.removeAll(Lists.newArrayList(Iterables.filter(passwordRules, UsernameRule.class)));
	}
	
	PasswordValidator validator = new PasswordValidator(passwordRules);
	RuleResult result = validator.validate(passwordData);
	
	boolean valid = true;
	if (!result.isValid()) {
		valid = false;
		for (RuleResultDetail detail : result.getDetails()) {
			if (RULES_CUSTOM_ERROR.contains(detail.getErrorCode())) {
				validatable.error(
						new ValidationError(this, detail.getErrorCode())
								.setVariables((Map<String, Object>) detail.getParameters())
				);
			}
		}
	}
	
	if (user != null
			&& securityManagementService.getOptions(user).isPasswordHistoryEnabled()
			&& user.getPasswordInformation().getHistory() != null
			&& !user.getPasswordInformation().getHistory().isEmpty()) {
		for (String historyPasswordHash : user.getPasswordInformation().getHistory()) {
			if (passwordEncoder.matches(password, historyPasswordHash)) {
				valid = false;
				validatable.error(
						new ValidationError(this, HISTORY_VIOLATION)
				);
				break;
			}
		}
	}
	
	if (!valid) {
		validatable.error(
				new ValidationError(this, COMMON_ERROR)
		);
	}
}
 
开发者ID:openwide-java,项目名称:owsi-core-parent,代码行数:58,代码来源:UserPasswordValidator.java



注:本文中的org.passay.PasswordValidator类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java DistinctIterable类代码示例发布时间:2022-05-23
下一篇:
Java SystemUtils类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap