这可能会变成一个傻瓜。
我正在 ASP.NET 中开发一个应用程序,将放在我们公司的内部网站上。我收到了一份关于安全性的规范,但不知道该怎么做。
第一部分:应用程序是使用 Windows 身份验证。这部分看起来很简单;我在管理工具中打开 IIS,右键单击我网站的节点、属性并选中“集成 Windows 身份验证”。但是,我不知道我将如何管理哪些人可以访问我的网站。我认为这应该在数据库级别进行处理。这是 Q#1
第二部分——我必须为以下场景实现一个流程:用户“Jane”可以登录到我们的网络,但无权访问我的应用程序。用户“Bob”确实有权使用我的应用程序。 Bob 需要能够坐在 Jane 的计算机前(在她的网络帐户下),但能够将他的凭据输入我的应用程序并使用它(即使 Jane 已登录到本地计算机和网络)。这是问题#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/IIS 安全(Windows 身份验证),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6512752/