asp.net-mvc – ASP.NET MVC中的Authorize属性是否用于验证以及授权?

我正在ASP.NET MVC上阅读,我刚刚看到一个关于Authorize属性的部分。这就是说,Authorize属性用于检查用户是否针对Controller进行身份验证。这是真的?我知道该属性被设计为用于授权目的,但是也是使用此属性进行身份验证的最佳做法?

如果没有,验证(不执行)身份验证的最佳做法是什么?

如果是这样,为什么这样做呢?我错过了什么吗?

解决方法

Authorize属性可用于检查用户是否登录,还可用于检查用户是否是特定角色的成员,并具有特定的名称。

它基本上执行< authorization>处理的相同的事情web.config中使用Web表单时的部分。

它不指定身份验证方法。它由< authentication> web.config中的部分就像Web表单一样。

编辑(关于认证和授权的澄清):

验证是身份验证。也就是说,您检查以查看用户是谁。这可以通过检查用户名和密码,检查您的Windows身份验证令牌,扫描视网膜,语音识别等。

授权是限制对满足特定标准的用户访问特定资源的行为。为了能够授权用户资源,您应该知道用户拥有的权限。要检查,您应该知道用户是谁的首位。所以用户必须进行身份验证。

基本上,一个空的[Authorize]属性执行授权,而不是身份验证。它不检查你是谁它只是检查你验证的人是否可以访问该资源。然而,其授权标准是“任何人成功认证”。您可以指定不同的条件。所以确实在做授权,而不是认证。

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....