繁体   English   中英

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

[英]ASP.NET / IIS Security (Windows Authentication)

这可能会变成一个doozie。

我正在开发 ASP.NET 中的应用程序,以放在我们公司的 Intranet 站点上。 我已收到有关安全性的规范,但不知道该怎么做。

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

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

任何帮助、一般方向或建议将不胜感激。 中奖彩票号码将更加感激。

谢谢,

杰森

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

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

ASP.NET 还支持使用 Windows 身份验证的自定义解决方案,绕过 IIS 身份验证。 例如,您可以编写一个自定义 ISAPI 过滤器,根据 Active Directory 检查用户的凭据。 使用这种方法,您必须手动创建一个 WindowsPrincipal object。

您在这里有关于身份验证授权的要求。

Authentication : 确认身份的行为
授权:将身份与特权相关联的行为(例如读/写/删除)

Windows 如果您想要“自动登录”功能,身份验证很有用。 该站点将通过 ID“了解”用户,而无需登录。

用户需要从多个位置登录意味着您必须实现登录页面。 这将满足您的要求,即一个用户可以坐在另一个工作站上并登录。

您需要根据 Windows 域对用户进行身份验证。 这可以通过自定义成员资格提供程序来完成。 这是一个演练:

http://msdn.microsoft.com/en-us/library/ms180890(v=vs.80).aspx

这将允许您显示一个登录页面,该页面将使用其域用户名和密码对用户进行身份验证。 这将对用户进行身份验证——用户的身份将存储在HttpContext.User中。 然后,您还可以在数据库中维护用户列表以存储授权数据。

还发现了这个——对于那些在同一条船上的人来说,这是一个很好的资源:

在 ASP.NET 中混合 Forms 和 Windows 安全性

http://msdn.microsoft.com/en-us/library/ms972958.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM