c# - 如何在 ASP.NET 中使用 AD 身份验证?

标签 c# asp.net authentication active-directory authorization

我想知道如何在我的项目的 Account/Login.aspx 页面中使用 Active Directory,但我找不到很多相关资源。我正在使用 VS.Net 2013 Asp.net C# 4.0。我以前从来没有这样做过,我只是想知道您如何访问 Active Directory 以及在组级别上,以便只有该组中的人才能访问该应用程序。请任何人提供链接或任何有用的信息。我真的坚持这一点,我需要能够让它发挥作用。

最佳答案

我使用事件目录和表单例份验证。您可以将其与默认的 Account/Login.aspx 一起使用。这些是我用来设置它的链接。

This link将向您展示如何使用 Active Directory 登录。 This link将向您展示如何设置 ADRoleProvider。

我更喜欢同时使用它们,因为第一个链接将向您展示如何获取已登录用户的 AD 组,但它将它们保存到身份验证 cookie 中。您必须解密此 cookie 才能查看广告用户属于哪个组……这可能很麻烦。

第二个链接将显示您必须使用角色,这要简单得多。

你可以有一个简单的 if 语句,比如..

if(User.IsUserInRole("SoftDev"))
{
    //do something
}  

或者您像这样在网络配置中使用角色..

<location path="Account/Whatever.aspx">
    <system.web>
        <authorization>
            <allow roles="SoftDev"/>
            <deny users="*" />
        </authorization>
    </system.web>
</location>

这将拒绝除组“SoftDev”之外的所有人访问该页面

这两个链接都适用于您使用表单例份验证的情况,因为还有其他文章介绍如何使用 Windows 身份验证。我希望这会有所帮助。

关于c# - 如何在 ASP.NET 中使用 AD 身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22101006/

相关文章:

c# - 在没有类型先验知识的情况下在 C# 中解码 JSON 对象

c# - 用 APIController 补充 [FromUri] 序列化

authentication - 如何实现 OAuth 2 服务器

c# - 有没有办法在 ASP.NET 中将身份验证从一个 Web 应用程序持久保存到另一个嵌套的 Web 应用程序?

java - 在 Android studio 中使用 Activity 模板时无法添加新的 Java 类吗?

c# - 为什么 StandardOutput.Read() 永远不会返回? (僵局?)

c# - 包含 guid 的结构上的 Marshal.SizeOf 提供额外的字节

c# - Form.ShowInTaskBar/Process.MainWindowHandle

javascript - ASP : Dynamically update a Google Maps engine instance with new coordinates

java - android/Windows 应用程序 viber(聊天示例)