无需手动输入凭据即可进行 SSO 身份验证
Posted
技术标签:
【中文标题】无需手动输入凭据即可进行 SSO 身份验证【英文标题】:SSO authentification without entering manually the credentials 【发布时间】:2019-12-19 13:31:00 【问题描述】:我创建了一个将用于域的应用程序,我必须使用用户凭据进行身份验证。用户不得手动输入其凭据。我必须以某种方式从目标中获取用户名,然后检查 Active Directory,然后登录。
在网上搜索我发现我必须配置 Apache 服务器
我尝试安装mod_authnz_sspi
,然后在 httpd.conf 中输入当前设置
<LocationMatch ^/$>
AuthName "intranet"
AuthType SSPI
SSPIDomain xxx.xxx.xxx.xxx
SSPIAuth on
SSPIOfferSSPI on
SSPIAuthoritative on
require valid-user
SSPIUsernameCase lower
</LocationMatch>
但在浏览器中似乎输入用户名和密码女巫我不希望那样
我也尝试安装mod_authn_ntlm
,但没有成功
有人可以知道该怎么做吗?谢谢!
【问题讨论】:
【参考方案1】:使用mod_authnz_sspi
,您走在正确的轨道上。如果您输入用户名和密码,它会起作用吗?如果是这样,那么您的服务器配置就完成了。
要使浏览器自动发送当前登录用户的凭据,浏览器需要信任该网站。对于 IE 和 Chrome,您必须将网站添加到 Internet 选项中的受信任站点或 Intranet 站点。
Firefox 使用自己的设置 network.negotiate-auth.trusted-uris
,这是一个它信任的站点列表以进行身份验证。
【讨论】:
当我输入用户名和密码时,在我的 index.php 中我写了 "echo $_SERVER['REMOTE_USER'] " 并返回用户名。 这是一个好的开始。听起来您只需要设置浏览器以信任该网站即可。以上是关于无需手动输入凭据即可进行 SSO 身份验证的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Python(SSO 身份验证)在 Snowflake 中进行查询?
Laravel Inertia (Vue) - 无需重定向即可进行身份验证