本文概述
- 创建一个ASP.NET MVC项目
- 身份验证注释
在创建应用程序时,我们可以为我们的应用程序设置各种类型的身份验证。在应用制作过程中,MVC要求进行身份验证,其中包括以下内容。
文章图片
无身份验证:用于为应用程序设置无身份验证。它允许匿名用户访问。
个人用户帐户:它是用于设置应用程序身份验证的最常用且常用的方法。它用于设置个人用户访问应用程序的身份验证。
工作或学校帐户:用于通过Active Directory,Microsoft Azure Active Directory等对用户进行身份验证。我们可以为各个组织设置权限。
【asp.net mvc身份验证】Windows身份验证:它主要用于Intranet应用程序。
例
让我们创建一个实现身份验证模块的ASP.NET MVC应用程序。此示例包括以下步骤。
创建一个ASP.NET MVC项目选择文件菜单并创建新项目,提供项目名称并从给定的两个选择中选择应用程序类型。
文章图片
文章图片
选择模板
文章图片
变更认证
文章图片
单击确定后,它将创建一个看起来像这样的项目。
文章图片
该项目具有默认结构,其中包含用于Model,View和Controller的单独文件夹。 HomeController是默认控制器。我们可以使用Ctrl F5执行此项目。运行到浏览器时,它将产生以下输出。
文章图片
我们可以看到在应用程序的右上角有“注册”和“登录”链接。这些链接可用,因为我们在创建应用程序时更改了身份验证类型。现在,此应用程序将仅允许注册用户。
除此之外,我们还可以在控制器级别设置身份验证。 ASP.NET MVC提供的注释也可以应用于控制器和操作级别。
身份验证注释ASP.NET提供了一个Authorize批注,可以将其应用于操作上以设置用户可访问性。要创建一个控制器,右键单击Controller文件夹并选择controller,它将在该文件夹中添加一个新的控制器。屏幕截图如下。
文章图片
创建的控制器具有一些我们已修改以实现授权批注的默认代码。我们的控制器名称是CheckAuthController。
// CheckAuthController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace AuthenticateApplication.Controllers
{
public class CheckAuthController : Controller
{
// GET: CheckAuth
public ContentResult Index()
{
return Content("Hello, You are Guest.");
}
// GET: CheckAuth/AuthorisedOnly
[Authorize]
public ContentResult AuthorisedOnly()
{
return Content("You are registered user.");
}
}
}
通过浏览器访问,如果我们使用http:// localhost:54382 / CheckAuth,它将产生以下输出。
文章图片
之所以有效,是因为它是公开可用的,但另一个操作不是公开的。因此,当我们访问http:// localhost:54382 / CheckAuth / AuthorisedOnly时,它会自动重定向到登录页面。这意味着只有注册用户才能访问它。
文章图片
推荐阅读
- asp.net mvc boostrap框架
- asp.net mvc entity框架
- asp.net mvc视图
- asp.net mvc模型绑定
- asp.net mvc模型
- asp.net mvc动作过滤器
- asp.net mvc的动作action
- asp.net mvc动作选择器
- asp.net mvc控制器