GVKun编程网logo

使用ASP.NET MVC进行Windows身份验证(asp.net mvc身份认证)

8

在本文中,您将会了解到关于使用ASP.NETMVC进行Windows身份验证的新资讯,同时我们还将为您解释asp.netmvc身份认证的相关在本文中,我们将带你探索使用ASP.NETMVC进行Wind

在本文中,您将会了解到关于使用ASP.NET MVC进行Windows身份验证的新资讯,同时我们还将为您解释asp.net mvc身份认证的相关在本文中,我们将带你探索使用ASP.NET MVC进行Windows身份验证的奥秘,分析asp.net mvc身份认证的特点,并给出一些关于ASP.NET / IIS安全性(Windows身份验证)、ASP.NET MVC 4的Windows身份验证 – 它如何工作,如何测试、ASP.NET MVC Urls和IIS集成Windows身份验证、asp.net – iis7中的windows身份验证的实用技巧。

本文目录一览:

使用ASP.NET MVC进行Windows身份验证(asp.net mvc身份认证)

使用ASP.NET MVC进行Windows身份验证(asp.net mvc身份认证)

我已经为我的asp.net mvc 1.0 Web应用程序构建了一个自定义登录系统,因为我为每个用户存储了大量用户数据(我决定不再尝试为 Windows身份验证添加自定义表).登录系统基本上使用sql Server(2005或2008)和我自己的数据库和表结构,这是非常标准的.具有唯一ID,用户名和散列密码的用户表,该密码链接到我的其他用户相关数据表.

我的问题是,如何绑定我的系统以使用Windows身份验证登录.我想允许管理员为用户(在我的系统中定义)选择一个Windows身份验证登录,并可能在我的自定义表中添加一个值,我可以使用它来验证它们?

问题可能是错误的,我可能误解了Windows身份验证的工作原理,但我想在我的Web应用程序中提供该选项.

解决方法

如果您的站点上启用了Windows身份验证,那么您应该能够使用User.Identity.Name获取当前登录用户的NT / Active Directory用户名,并将其与用户表中的列相匹配.

ASP.NET / IIS安全性(Windows身份验证)

ASP.NET / IIS安全性(Windows身份验证)

这可能会成为一个doozie.

我正在开发一个ASP.NET应用程序,放在我们公司的Intranet站点上.我已经提交了有关安全性的规范,并且不知道如何做到这一点.

第一部分:应用程序是使用Windows身份验证.这部分似乎很容易;我在管理工具中打开了IIS,右键单击了我的网站节点,属性并选中了“集成Windows身份验证”.但是,我不知道我将如何管理哪些人可以访问我的网站.我认为应该在数据库级别处理这个问题.这是q#1

第二部分 – 我必须为以下场景实现一个过程:用户’Jane’可以登录我们的网络,但没有我的应用程序的权限.用户’Bob’确实有权使用我的应用程序. Bob需要能够坐在Jane的计算机上(在她的网络帐户下),但能够将他的凭据输入我的应用程序并使用它(即使Jane已登录到本地计算机和网络).这是q#2

任何帮助,总体方向或建议将不胜感激.中奖彩票号码将更受欢迎.

谢谢,

贾森

解决方法

您正在寻找ASP.NET中的Windows身份验证和授权

> How To Use Windows Auth in ASP.NET
> Authentication/Authorization Explained
> How To Implement Windows Auth in ASP.NET

第2部分……你是对的,这很难.您需要推出自己的自定义安全提供程序.
您将拥有一个登录页面,然后自行检查Active Directory.从MSDN

ASP.NET also supports custom solutions for using Windows authentication,which bypasses IIS authentication. For example,you can write a custom ISAPI filter that checks the user’s credentials against Active Directory. With this approach you must manually create a WindowsPrincipal object.

ASP.NET MVC 4的Windows身份验证 – 它如何工作,如何测试

ASP.NET MVC 4的Windows身份验证 – 它如何工作,如何测试

我从来没有为 ASP.NET MVC Web应用程序使用Windows身份验证,而是使用表单身份验证。最近,我有一个ASP.NET MVC 4 Web应用程序,需要为授予登录我的公司Web服务器的用户提供Windows身份验证。所以,我有一些关于Windows认证的问题。我使用的是Visual Studio 2012。

> Windows验证如何工作?
>如何在web.config文件中正确实现Windows身份验证?
>如何测试Windows身份验证是否真的适用于我的ASP.NET MVC 4网站?换句话说,我该如何在本地开发的PC上使用本地的IIS(版本8)和我的公司的真正的Web服务器与IIS版本7进行测试?

解决方法

针对IIS 8.5和MVC 4:

Windows身份验证如何工作?

在此模式下,User.Identity(如HttpContext.Current.User.Identity中所示)由底层Web服务器填充。这可能是来自@R Kumar的链接中的IIS Express,或者@Thomas Benz在视频中充分展现了IIS。

具体来说,User.Identity是一个WindowsIdentity对象。例如。以下演员将工作:

WindowsIdentity clientId = (WindowsIdentity)HttpContext.Current.User.Identity;

如何在web.config文件中正确实现Windows身份验证?

<system.web>
    <authentication mode="Windows" />
  ...

如何验证Windows身份验证是否适用于我的ASP.NET MVC 4网站?换句话说,如何在本地开发的PC上使用本地IIS(版本8)以及在我的公司的IIS 7版本的真实Web服务器上进行测试?

首先,更改ASP.NET授权以排除当前用户。例如。

<system.web>
    <authentication mode="Windows" />
    <authorization>
      <allow users="yourdomain\someotheruser" />
      <deny users="*" />
    </authorization>

其次,使用IIS管理器为您的站点启用Windows身份验证。它在“验证”功能下。并禁用匿名身份验证。

请注意,较旧的解释将建议您在网站的web.config的元素下进行更改。但是,由于安全原因,最近的IIS实现会阻止这种情况。

三,将浏览器指向网页。浏览器应该要求您提供凭据,因为当前用户不允许访问该网站。提供网站授权的,并且您的MVC代码应该运行。

四,检查用户身份。例如。

WindowsIdentity clientId = (WindowsIdentity)HttpContext.Current.User.Identity;

ASP.NET MVC Urls和IIS集成Windows身份验证

ASP.NET MVC Urls和IIS集成Windows身份验证

我有一个完全支持Forms身份验证的ASP.NET MVC应用程序.但是有一组路由(/ report /%)我需要强制集成 Windows身份验证,因为这些页面需要模拟当前用户(出于安全原因).

如果我将整个站点设置为集成的Windows身份验证,这一切都有效,除了firefox在用户访问站点主页时提示用户输入两次用户名/密码(一次用于Windows身份验证,然后再用于表单身份验证),而IE仅提示表格认证.这很好,我知道这是Firefox的默认行为,但是为了不让用户高兴,我被要求将Windows身份验证要求限制为仅限于网站的/ report / *部分,因此只有在他们转到/ report /%中的任何页面.

在ASP.NET WebForms中这很容易,因为有一个physcial / report文件夹来放置身份验证配置,但在MVC中这个URL是虚拟的,所以我不能这样做.有谁知道这样做的好方法?我试图创建一个“网关”aspx页面,用户在重定向到相应的报告页面之前需要首先完成,虽然Firefox确实在正确的位置提示用户输入他们的Windows凭据,但它似乎没有保留将后续请求的详细信息发送到任何/ report /%页面.有任何想法吗?会非常感激!

解决方法

就在最近,我不得不做类似的事情.我的大部分asp.net MVC应用程序都需要表单身份验证,其中一部分需要Windows身份验证.

我最终做的是将我的Web应用程序拆分为两个项目.

第一个项目托管在IIS下的网站根目录中.这是运行表单身份验证.

第二个项目作为同一网站的虚拟目录托管.这是运行Windows身份验证.

唯一的权衡是,您最终可能会得到/ reports / reports /%的URL(或者您为虚拟目录命名的任何内容)

asp.net – iis7中的windows身份验证

asp.net – iis7中的windows身份验证

我正在使用IIS7 Windows 7企业版.我需要设置Windows身份验证,但它在IIS7中不可用.

如何在IIS7中获得Windows身份验证?

解决方法

转到控制面板=>程序=>打开或关闭Windows功能

完成后单击“确定”,转到IIS管理器,您应该可以在选项中看到Windows身份验证.

关于使用ASP.NET MVC进行Windows身份验证asp.net mvc身份认证的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于ASP.NET / IIS安全性(Windows身份验证)、ASP.NET MVC 4的Windows身份验证 – 它如何工作,如何测试、ASP.NET MVC Urls和IIS集成Windows身份验证、asp.net – iis7中的windows身份验证的相关知识,请在本站寻找。

本文标签: