C#面:在 MVC 中如何执行 Windows 认证?

在 MVC 中执行 Windows 认证可以通过以下步骤实现:

  1. 在 Web.config 文件中启用 Windows 身份验证。找到 <system.web> 节点,并确保已经添加或者设置。
  2. 在 Controller 的 Action 方法上使用 Authorize 属性来限制只有经过 Windows 身份验证的用户才能访问该 Action 方法。
  3. 在 View 中可以使用 User.Identity.Name 来获取当前经过 Windows 身份验证的用户名。

示例代码:

在 Web.config 文件中添加以下配置:

html 复制代码
<system.web>
  <authentication mode="Windows" />
  <authorization>
    <deny users="?" />
  </authorization>
</system.web>

在 Controller 中添加以下代码:

cs 复制代码
[Authorize]
public class HomeController : Controller
{
    public ActionResult Index()
    {
        string username = User.Identity.Name;
        // 其他逻辑
        return View();
    }
}

在 View 中可以使用以下代码显示当前用户的用户名:

cs 复制代码
<p>Welcome, @User.Identity.Name!</p>

注意,执行 Windows 认证需要确保 IIS 服务器已经启用了 Windows 身份验证,并且用户的浏览器也支持 Windows 身份验证。

相关推荐
雪落漂泊20 分钟前
C++11(上)
开发语言·c++
春涧草茶42 分钟前
慢就是快12-2三种访问权限|getter与setter|魔法方法
开发语言·python
無限進步D1 小时前
Java Web 前端 简介
java·开发语言·前端·css·html·css3·web
qq_401700411 小时前
Qt QUrl 详解与代码示例
开发语言·数据库·qt
小灰灰搞电子2 小时前
Rust Attribute(属性标记)完整整理
开发语言·后端·rust
tedcloud1232 小时前
God‘s Eye View 怎么搭建?在云服务器上部署一个实时 3D 地球可视化平台
linux·服务器·开发语言·后端·rust
Tairitsu_H2 小时前
[C++] C++11 Lambda与包装器深度解析
开发语言·c++·c++11·lambda·包装器
傲世仙尊2 小时前
从磁盘硬件到Ext文件系统-Linux磁盘级文件系统学习笔记
linux·运维·服务器·开发语言·c++
小羊没烦恼!3 小时前
Memory 记忆设计讨论:为什么 Agent Memory 不能只靠向量数据库?
java·开发语言·windows·算法·c#
黑马程序员毕设3 小时前
基于微信小程序的节目活动报名与管理系统设计与实现
java·开发语言·spring boot·后端·电脑