首页
学习
活动
专区
圈层
工具
发布

在 ASP.NET WebAPI 中使用 DataAnnotations 验证数据

在 ASP.NET WebAPI 中使用 DataAnnotations 验证数据 为了 Web 服务的安全, 通常在服务端也会做数据验证, 不过数据验证的代码确实是有点儿枯燥, 以简单的用户注册来说,...、 密码、 以及确认密码即可, 验证的要求如下: 用户名必填; 密码必填; 确认密码必填; 确认密码必须和密码一致; 虽然示例是简单的, 但是验证的规则并不简单, 如果手写验证代码的话, 则对应的服务端验证代码如下..., 而且很枯燥, 不过在 ASP.NET WebAPI 中, 可以使用 DataAnnotations 来简化数据验证, 稍微修改一下上面的 RegisterModel , 为要验证的字段添加验证标记,...[Required, Compare("Password")] public string Confirm { get; set; } } 添加了对应的验证标记之后, ASP.NET WebAPI...return Ok(model.Username); } return BadRequest(ModelState); } } 如果我们只输入用户名, 没有输入密码和确认密码

1.5K20

ASP.NET WebApi 基于分布式Session方式实现Token签名认证(发布版)

在ASP.NETWebService服务中可以通过SoapHead验证机制来实现,那么在ASP.NET WebApi中我们应该如何保证我们的接口安全呢?...1.1、本次分享课程包含知识点如下: 1)、对ASP.NET WebApi 如何实现身份认证进一步了解和学习。 2)、ASP.NET 如何实现将自定义Session存储在Redis中。...3)、.NET开源轻量级HTTP网络请求框架RestSharp在ASP.NET WebApi中的基本运用。 4)、ASP.NET WebAPI自定义HTTP参数绑定支持多参数POST请求。...2.3、认证 (authentication) 和授权 (authorization) 的区别 三、WebApi如何实现Token认证实现原理讲解 3.1、ASP.NET WebAPI如何保证客户端以安全的方式进行访问...3.2、基于分布式Session方式实现Token认证基本思路如下: 基本流程上是这样的: ●用户使用用户名密码来请求服务器。

2.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    快速入门系列--WebAPI--01基础

    消息处理管道 还记的ASP.NET MVC中的核心是HttpHandler,而在WebAPI中其管道处理器是HttpMessageHandler。...这个关于basic的质询方式很有意思,就是当你请求时,出现http 401,会要求你输入用户名密码,输入后你输入的用户名和密码会被base64编码发送的服务器,形式是Basic YWRtaW46YWRtaW4...查看windows的凭据管理器,账号密码木有问题,但仍然不能通过验证,非常的伤感,自己试着加上域cn1\,结果OK了,感觉棒棒哒,哈哈,说明asp.net安全模型和windows有很好的整合性。...,用户名、客户端密码加密后的质询和原始的质询);步骤5、6,DC根据用户名获得密码哈希值,对原始质询加密,再与服务端发送的质询比较,一致就为验证通过,否则失败。...一般来说,web应用的用户认证均由自身完成,通过存储用户名和密码并进行验证,但这种方式在当前的互联网场景下会有一下两个主要问题:用户需要注册不同的账号,记住和使用非常的麻烦了;对于应用提供者,大量认证系统会花费大量的精力

    2.9K70

    老开源项目:.NET Core 3.1 + EF Core + LayUI 管理系统

    登录模块案例 ,用户名密码验证码登录方式—— 已完成。 配置信息设置案例,存库方式——已完成。 操作员管理案例,简单CURD操作——已完成。 部门管理案例,简单CURD操作——已完成。...11、MVC项目中使用WebApiClient组件,调用WebApi接口数据。...5、F5启动,就可以访问项目了,初始用户名:admin 密码:123456 笔记 下面总结下本人在学习.NET Core中遇到的一些问题,以及整个框架搭建的思路和使用开发教程。...当前项目中虽然没用VUE.js,但还是按前后端分离模式做的,多了MVC项目代替UI层(StudentManageSystem),所有业务实现都是通过WebApi接口获取数据。...这一年公司事情诸多,各种个性化项目对接,只能是在忙里偷闲弄这项目可能存在有些细节未处理到位的地方,其实这套框架早在几个月前已经差不多封装好了,一直没有时间去整理文档,刚抽空整理文档也做了些优化和完善了部分功能

    88910

    使用微服务架构思想,设计部署OAuth2.0授权认证框架

    OAuth(开放授权)是一个开放标准,1.0版本于2006年创立,它允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。...所有步骤在浏览器中完成,令牌对访问者是可见的,且客户端不需要认证。 密码模式(resource owner password credentials)--用户向客户端提供自己的用户名和密码。...所以我们最终决定采用OAuth2.0的密码模式。 2.4,OAuth2.0密码模式授权流程  简单来说,密码模式的步骤如下:  用户向客户端提供用户名和密码。...在这个场景中,用户登录系统实际上分为了3个步骤: 用户在登录界面,输入用户名和密码,提交登录请求; 【认证】系统校验用户输入的用户名和密码是否在人员信息表中; 【授权】给当前用户授予相应的角色权限。...但很多网站都有验证码功能,如果验证码生成和校验不是在网关服务器,而是在认证服务器呢?毕竟,认证用户的用户名、密码和当前验证码能够增强认证服务器的“认证能力”。

    12.4K32

    ASP.NET MVC5+EF6+EasyUI 后台管理系统-WebApi的用法与调试

    1:ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-WebApi与Unity注入 使用Unity是为了使用我们后台的BLL和DAL层 2:ASP.NET MVC5+EF6+EasyUI...后台管理系统(2)-WebApi与Unity注入-配置文件 3:ASP.NET MVC5+EF6+EasyUI 后台管理系统(3)-MVC WebApi 用户验证 (1) 4:ASP.NET MVC5...+EF6+EasyUI 后台管理系统(4)-MVC WebApi 用户验证 (2) 以往我们讲了WebApi的基础验证,但是有新手经常来问我使用的方式 这次我们来分析一下代码的用法,以及调试的方式...WebApi在一些场景我们会用到,比如: 1.对接各种客户端(移动设备) 2.构建常见的http微服务  3.开放数据  4.单点登陆  等......string.IsNullOrEmpty(token)) { //解密用户ticket,并校验用户名密码是否匹配

    2.3K30

    VB.NET 创ASP.NET WebAPI及应用(二) IIS和MYSQL安装

    WebAPI应用集合列表 VB.NET 创建ASP.NET WebAPI及应用(一) 今天主要内容是Win7/8/10方法相同: IIS WEB服务器的安装(后期部署WebAPI的时候会用到今天先说了)...Mysql数据库的安装 通过Asp.NET WebAPI取Mysql数据库的数据 一,安装IIS WEB服务器 1.1 打开Win11的控制面板,找到"程序和功能" 1.2 进入"程序和功能...然后点击一下,主页网站,在右侧找到"高级设置",把高级里面"预加载已启动"属性改为"True"; 1.6 上面1.5-1.6的步骤是启动Web服务器的预加载功能,防止ASP.NET程序长时间不用而导致的休眠...2.3 开始正式安装 2.4 配置数据库用户密码,注意请使用传统的密码方式,别选错了,要不然后面连接比较麻烦 2.4.1 设置数据库密码和账户 2.4.2 等待配置完成...2.5 初步安装Mysql数据库完成,接下来我们验证一下,打开"Navicat Premium"或者CMD都可以,cmd验证要把MYSQL安装目录添加到系统环境(自行百度懒得细写或自己看图)

    2.5K40

    【壹刊】Azure AD 保护的 ASP.NET Core Web API (下)

    一,引言 上一节讲到如何在我们的项目中集成Azure AD 保护我们的API资源,以及在项目中集成Swagger,并且如何把Swagger作为一个客户端进行认证和授权去访问我们的WebApi资源的?...AD里面给Swagger注册的客户端应用的Id 6,scp:权限范围,我们为Swagger授权访问WebApi的权限 看到这里,是不是感觉和 Identity Server 4授权验证中心的好多配置特别相似...通过User的用户名和密码向认证中心申请访问令牌。   按照惯例,在postman中直接进行调用order的接口。 ResponseCode:401,提示没有权限。...此处应该有掌声,成功的通过验证,并且获取到 api资源,但是这种模式是最不推荐的,因为client可能存了用户密码,此模式仅用于受信任的客户端。复制会发生密码泄露。所以不推荐使用。...三,结尾 今天的文章大概介绍了如果在我们的项目中集成 Azure AD,以及如何使用 Resource Owner Password Credentials(资源持有者密码认证)和Client Credentials

    3K10

    使用OAuth打造webapi认证服务供自己的客户端使用

    此日志网站想要导入你在QQ空间中的日志需要知道你的QQ用户名和密码才行,为了安全期间你不会把你的QQ用户名和密码直接输入在日志网站中,所以日志网站帮你导航到了QQ认证界面(Authorization Server...),当你输入完用户名和密码后,QQ认证服务器返回给日志网站一个token, 该日志网站凭借此token来访问你在QQ空间中的日志。...我们在日志网站的场景中提到:用户不能直接为日志网站(third party application)提供QQ(resource owner)的用户名和密码。...3.使用ASP.NET Identity 实现一个简单的用户认证功能,以便我们生成用户名和密码 安装nuget package: Microsoft.AspNet.Identity.Owin Microsoft.AspNet.Identity.EntityFramework...GrantResourceOwnerCredentials方法则是resource owner password credentials模式的重点,由于客户端发送了用户的用户名和密码,所以我们在这里验证用户名和密码是否正确

    3.2K60

    .net 温故知新【11】:Asp.Net Core WebAPI 入门使用及介绍

    在Asp.Net Core 上面由于现在前后端分离已经是趋势,所以asp.net core MVC用的没有那么多,主要以WebApi作为学习目标。...我们再对比一下 Program类 可以看到在AspNetCoreWebAPI_1项目中Program类和Main方法完整,因为要使用Controller的原因,所以依赖注入了Controller服务。...在AspNetCoreWebAPI_2项目中没有只有Main方法内的代码,这就是顶级语句。...按照以前asp.net习惯和项目清晰度维护性我们一般是使用Controller的方式,并且不使用顶级语句。 而最小 API,是创建具有最小依赖项的 HTTP API。...它非常适合于需要在 ASP.NET Core 中仅包括最少文件、功能和依赖项的微服务和应用。

    3.1K31

    Asp.Net WebApi核心对象解析(一)

    在.NET的体系中的分布式技术主要有webservice,.net remoting,MSMQ,WCF等等,但是今天介绍的是Asp.Net WebApi,对于Asp.Net WebApi技术,估计很多人都不会陌生...,或者经常使用,因为对于其他的分布式技术的问题,在使用的时候会比较的繁琐,但是Asp.Net WebApi可能会简便和快捷很多。...(3).System.AspNet.WebApi.Core:包含核心WebApi编程模型和运行时组件。      ...三.WebApi核心对象ApiController:     在我们的asp.net webapi项目中,在顶层目录App_Start下,有一个WebApiConfig类,该类只包含一个方法Register...四.总结:    以上是对ASP.NET Web API背景和使用方法,以及对ASP.NET Web API核心对象的简要介绍,下篇会主要介绍HttpRequestMessage、HttpResponseMessage

    5.6K70

    ASP.NET Core HTTP基本身份认证实战演练

    一、什么是HTTP基本认证(Basic Authentication) 1、HTTP基本认证 介绍 在HTTP中,HTTP基本认证(Basic Authentication)是一种允许网页浏览器或其他客户端程序以...(用户名:口令) 请求资源的身份验证方式,不要求cookie,session identifier、login page等标记或载体。...输入正确的用户名和密码即可。 ? ? 第一步:在appsettings.json中配置基本身份认证的用户名和密码 ?...第二步运行ASP.NET Core WebApi项目 1、直接打开浏览器直接访问地址:http://localhost:5000/weatherforecast 第一次访问浏览器会弹出用户名和密码对话框...如果用户名和密码输入正确,服务端验证成功后,则会返回正确的响应数据。 ? 2、大家也可以通过PostMan测试访问地址,同样需要输入正确的用户名和密码 ? ?

    88740

    VB.NET ASP.NET WebAPI及应用(三)使用Mysql数据库简单的用户登录注册取数据WebAPI

    WebAPI应用集合列表 VB.NET 创建ASP.NET WebAPI及应用(一) VB.NET 创ASP.NET WebAPI及应用(二) IIS和MYSQL安装 一,首先我们要在数据库里面创建一个简单用户表...id` int NOT NULL AUTO_INCREMENT COMMENT '自增ID', `u_name` varchar(50) NOT NULL DEFAULT '' COMMENT '用户名...2.1.1 在文章一项目里面创建一个ClassModel文件夹,用来存放类文件 2.1.2 在文件夹里面添加一个MysqlHelper.vb帮助类文件 2.1.3 添加MySql.Data.dll...dev.mysql.com/downloads/connector/net/ 2.1.3.1 打开压缩包找到V4.8文件夹,我用的框架是4.8,根据实际即可,点击打开把MySql.Data.dll和MySql.Data.xml...(在这里,可以做一个,手机验证码或者邮箱验证码的验证,自行搞哈) Dim issucc As Integer = dbmysql.ExecuteNonQuery($"INSERT

    2.2K10

    ASP.NET WebApi 基于OAuth2.0实现Token签名认证

    为了保护我们的WebApi数据接口不被他人非法调用,我们采用身份认证机制,常用的身份认证方式用Https基本认证(结合SSL证书),在ASP.NET WebService服务中可以通过SoapHead验证机制来实现...,那么在ASP.NET WebApi中我们应该如何保证我们的接口安全呢?...在上此分享课程中阿笨给大家带来了《ASP.NET WebApi 基于分布式Session方式实现Token签名认证》和《ASP.NET WebApi 基于JWT实现Token签名认证》。...1.1、本次分享课程包含知识点如下: 1)、对ASP.NET WebApi 如何实现身份认证进一步了解和学习。...(强烈推荐) 3)、.NET开源轻量级HTTP网络请求框架RestSharp在ASP.NET WebApi中的基本运用。

    3.1K30

    【One by One系列】IdentityServer4(二)使用Client Credentials保护API资源

    用于签名的凭据(credentials) 用户可能会请求访问的Identity资源和API资源 会请求获取token的客户端 用户信息的存储机制,如ASP.NET Core Identity或者其他机制...In-Memory Stores and Test Users:添加内存中的用户认证信息,和测试用户 Quickstart UI (UI assets only):UI 2.创建ASP.NET Core...官方描述:你可以把ClientId和ClientSecret看作应用程序本身的登录名和密码。它向身份服务器表明您的应用程序的身份(我是xx应用程序,想访问服务器)。...\webapi\webapi.csproj package Microsoft.AspNetCore.Authentication.JwtBearer 3.5 注册服务和添加中间件 最后一步是将身份认证服务添加到依赖注入中...token中是否存在scope,这里使用的是ASP.NET Core授权策略系统 “这里实质是验证jwt中的payload的scope ” RequireHttpsMetadata 用于测试目的;将此参数设置为

    3.2K30

    ABP入门系列(10)——扩展AbpSession

    其中AuthenticationType,从字面意思理解是验证类型。什么意思呢?比如我们拿身份证去政府部门办理业务时,有时需要持本人身份证,但有时候需要身份证复印件即可。...从这张图来看,我们登陆的时候提供一些身份信息Claim(用户名/密码),然后Identity中间件根据这些身份信息构造出一张身份证ClaimsIdentity,然后把身份证交给ClaimsPrincipal...主要根据用户名密码去核对用户信息,构造User对象返回,然后再根据User对象的身份信息去构造身份证(CliamsIdentity)。...本文参考了以下博文,在此再次感谢它们的精彩分享: ASP.NET Core 之 Identity 入门(一)--Savorboard ASP.NET Core 之 Identity 入门(二)--Savorboard...ASP.NET Core 之 Identity 入门(三)--Savorboard Asp.net Boilerplate之AbpSession扩展--kid1412 基于DDD的.NET开发框架 -

    1.9K60

    ABP入门系列(16)——通过webapi与系统进行交互

    ABP模板项目中默认创建了webapi项目,其动态webapi技术允许我们直接访问appservice作为webapi而不用在webapi层编写额外的代码。...登录目标系统 这一步简单,我们仅需提供用户名密码,Post一个登录请求即可。...然后使用token即可请求目标webapi。 但这其中有一个问题就是,如果token过期,就必须使用用户名密码重写申请token,体验不好。 3.1....Abp集成OAuth2.0 在WebApi项目中的Api路径下创建Providers文件夹,添加SimpleAuthorizationServerProvider和SimpleRefreshTokenProvider...其中SimpleAuthorizationServerProvider用来验证客户端的用户名和密码来颁发token;SimpleRefreshTokenProvider用来刷新token。

    5.4K60

    ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-WebApi与Unity注入

    前言: 有时候我们系统需要开放数据给手机App端或其他移动设备,不得不说Asp.net WebApi是目前首选 本节记录Asp.net MVC WebApi怎么利用Unity注入。...2.安装Unity.WebApi程序包解析一下,这里有依赖项:Unity >=4.0.1 (我们之前的注入就只安装了Unity)所以Unity.WebApi是需要Unity4.0.1支持的。 ?...安装Unity.WebApi会自动安装很多依赖项:Unity (≥ 4.0.1),CommonServiceLocator,Microsoft.AspNet.WebApi.Core,Microsoft.AspNet.WebApi.Client...或者到nuget官方下载离线的 3.Apps.Core也需要同样安装Untiy.WebApi 安装完成后在Apps.WebApi下将自动多出一个文件 ?...如果断点执行到调用处,那么恭喜你,注入顺利成功,可以调用了(配图为返回数据库第一条数据的ID,数据和脚本在源码下载查看) ?

    1.4K50
    领券