极验接入教程纯html,在AspNetCore中使用极验做行为认证的验证流程

极验验证

极验验证是一种在计算机领域用于区分自然人和机器人的,通过简单集成的方式,为开发者提供安全、便捷的云端验证服务。

与以往传统验证码不同的是,极验通过分析用户完成拼图过程中的行为特征,通过数据分析来判断是人还是机器。用户不必面对眼花缭乱的英文字符或汉字,整个验证过程变的像游戏一样有趣。

先上效果图

1351214533-0.gif

极验的流程

极验官方文档地址 https://docs.geetest.com/install/deploy/server/csharp

简单说明一下极验的验证流程

引用官方的图片

135121D28-1.jpg

•向服务器发送请求获取验证参数

•客户端sdk完成验证

•由客户端sdk验证数据提交服务器二次验证

在netcore中使用极验

在我查看官方的sdk过后,发现不是特别好用,根据极验的流程写了一套适用于netcore的极验sdk 开源地址 已经发了nuget包 搜索sharpplug.geetest即可

使用方式很简单,下面通过一个例子来进行讲解

使用命令dotnet new mvc创建一个mvc项目

下一步使用命令dotnet add package sharpplug.geetest安装nuget包

打开startup文件在ConfigureServices中配置geetest服务

我在极验申请了一个测试用的id和key 大家可以直接测试使用

?

完成获取验证参数与二次验证的类是GeetestManager,它主要有两个方法

获取验证参数方法是Register,它主要有三个参数 userid(用户标识) clientType(客户端类型) 与 ipaddress(客户端ip) 关于参数的细节大家可以去参阅极验文档

?

二次验证方法 Validate 参数为

•offline 是否离线验证(获取验证参数失败时)

•UserId 用户标识

•Challenge

•Seccode

•Validate

?

下面打开HomeController添加获取验证参数方法,记得注入GeetestManager

?

下面在HomeController中加入二次验证

?

服务端部分已经完成,下面打开index.cshtml先引用gt.js

?

然后添加html元素

?

极验有一个初始化的过程,先调用获取验证参数api进行初始化极验

?

这时运行项目已经可以看到极验的验证表单了并且已经可以进行验证,但是还需要添加点击按钮事件进行二次验证

?

以上所述是小编给大家介绍的在AspNetCore中使用极验做行为认证的验证流程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://www.cnblogs.com/LiangSW/p/9674273.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用ASP.NET Core自带的Identity框架来实现验证账号密码是否在数据库。Identity框架提供了一套完整的用户身份验证和授权机制,包括用户注册、登录、注销和密码重置等功能,同时支持多种存储数据的方式,包括关系型数据库、非关系型数据库和文件存储等。 下面是一个简单的示例代码,用于验证用户名和密码是否匹配数据库的记录: ```csharp // 引入命名空间 using Microsoft.AspNetCore.Identity; using System.Threading.Tasks; // 注入UserManager和SignInManager public class AccountController : Controller { private readonly UserManager<IdentityUser> _userManager; private readonly SignInManager<IdentityUser> _signInManager; public AccountController( UserManager<IdentityUser> userManager, SignInManager<IdentityUser> signInManager) { _userManager = userManager; _signInManager = signInManager; } [HttpPost] public async Task<IActionResult> Login(LoginViewModel model) { if (ModelState.IsValid) { // 验证用户名和密码是否匹配数据库的记录 var result = await _signInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, lockoutOnFailure: false); if (result.Succeeded) { return RedirectToAction("Index", "Home"); } else { ModelState.AddModelError(string.Empty, "Invalid login attempt."); return View(model); } } return View(model); } } ``` 在上面的示例代码,通过注入`UserManager`和`SignInManager`对象,并调用`PasswordSignInAsync`方法来验证用户名和密码是否匹配数据库的记录。如果验证成功,则重定向到主页,否则返回错误信息。注意,在使用Identity框架时,需要在`Startup.cs`文件进行配置和注册。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值