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 身份验证。

相关推荐
朝朝辞暮i6 小时前
C++ 第 10 课:函数 Function
开发语言·c++
朝朝辞暮i6 小时前
C++ 第7课 while 循环
开发语言·c++·算法
小朱爱编程1236 小时前
我用 Jev 做了三个实用工具:整理标签页、分诊飞书反馈、找回 GitHub 收藏
java·开发语言·人工智能·后端·python·架构·ai编程
换元不配限6 小时前
Android 架构演进实战:MVC → MVP → MVVM → MVI
android·架构·mvc·mvvm·mvp·mvi
谢亮_vipxieliang6 小时前
Java 8/11/17/21/25 怎么选?一篇讲清 LTS 升级路线
java·开发语言
Cindy_cd7 小时前
IDEA2021 配置 JDK+Maven
java·开发语言·maven
mmsx8 小时前
Android Dialog 插槽模式:用一套壳统一全应用的弹窗风格
android·java·dialog·开发语言
huanbailu8 小时前
Qt 跨线程信号槽:connect 返回 true 但槽函数不执行的坑
开发语言·c++·qt·信号槽·跨线程·元类型
ZealSinger8 小时前
Go slog生产落地LevelVar与共存
开发语言·后端·golang·go
落魄实习生8 小时前
Agent Scope Java 2.x 系列【11】AgentState 与状态存储
java·开发语言·ai