如何将您的 ASP.NET Core 3.1 MVC Web 应用程序连接到 Active Directory?
How to connect your ASP.NET Core 3.1 MVC web application to Active Directory?
我正在为客户构建一个 Web 应用程序,我必须通过 IIS 在他们的 Windows 服务器上进行设置。我将不得不通过 Active Directory(而不是 Azure Active Directory)将他们的用户群集成到我的应用程序中。我已经在我的应用程序中加入了 Windows 身份验证,它似乎可以在我的本地计算机上运行。
我想知道的是:
如何将登录提示更改为我的自定义登录页面?
如何更改已认证用户的用户名(现在我登录时,我必须写下设备名称和用户名称。例如:_device/_user ).我想要的是用户只能写他们的用户名,而不是设备名称。
如何管理用户的访问权限,以及如何在应用程序中为他们添加角色。由于用户已登录。我现在想知道如何为该用户分配特定角色,以便我可以基于此限制对特定页面的访问。
我一直在查看一些文档,但没有太多提到 Active Directory 集成或上面列出的问题。
步数;
如果要访问 AD,您需要在项目中引用 System.DirectoryServices 和 System.DirectoryServices.AccountManagement。
在 appsettings.js ActiveDirectory": { "ActiveDirectoryDomainName": "Your Domain", "ActiveDirectoryOrganizationalUnits": "Your AD units" }
中配置 AD 名称和 AD 组织单位
在您的 class 方法中:
用 userPrincipal.EmailAddress、userPrincipal.GivenName、userPrincipal.Guid.Value 等 AD 值填充您的用户对象
如果您想使用角色管理用户,请从 AD (userPrincipal.Guid.Value) 中获取 GUID 并将其存储在另一个 table 中,并将该 GIUD 映射到所需的角色。
注意:如果你能分享一些图片和代码
我正在为客户构建一个 Web 应用程序,我必须通过 IIS 在他们的 Windows 服务器上进行设置。我将不得不通过 Active Directory(而不是 Azure Active Directory)将他们的用户群集成到我的应用程序中。我已经在我的应用程序中加入了 Windows 身份验证,它似乎可以在我的本地计算机上运行。
我想知道的是:
如何将登录提示更改为我的自定义登录页面?
如何更改已认证用户的用户名(现在我登录时,我必须写下设备名称和用户名称。例如:_device/_user ).我想要的是用户只能写他们的用户名,而不是设备名称。
如何管理用户的访问权限,以及如何在应用程序中为他们添加角色。由于用户已登录。我现在想知道如何为该用户分配特定角色,以便我可以基于此限制对特定页面的访问。
我一直在查看一些文档,但没有太多提到 Active Directory 集成或上面列出的问题。
步数;
如果要访问 AD,您需要在项目中引用 System.DirectoryServices 和 System.DirectoryServices.AccountManagement。
在 appsettings.js
中配置 AD 名称和 AD 组织单位ActiveDirectory": { "ActiveDirectoryDomainName": "Your Domain", "ActiveDirectoryOrganizationalUnits": "Your AD units" }
在您的 class 方法中:
用 userPrincipal.EmailAddress、userPrincipal.GivenName、userPrincipal.Guid.Value 等 AD 值填充您的用户对象
如果您想使用角色管理用户,请从 AD (userPrincipal.Guid.Value) 中获取 GUID 并将其存储在另一个 table 中,并将该 GIUD 映射到所需的角色。
注意:如果你能分享一些图片和代码