GVKun编程网logo

您可以通过Passport进行身份验证而无需重定向吗?

11

在这篇文章中,我们将带领您了解您可以通过Passport进行身份验证而无需重定向吗?的全貌,同时,我们还将为您介绍有关active-directory–您可以使用ADLDS(ADAM)帐户对SSAS进

在这篇文章中,我们将带领您了解您可以通过Passport进行身份验证而无需重定向吗?的全貌,同时,我们还将为您介绍有关active-directory – 您可以使用AD LDS(ADAM)帐户对SSAS进行身份验证吗?、android-您可以在24小时以上的时间内通过Facebook进行身份验证吗?、ASP.NET应用程序通过Windows身份验证或窗体身份验证向Active Directory或SQL进行身份验证、ASP.NET应用程序通过Windows身份验证或表单身份验证向Active Directory或SQL进行身份验证的知识,以帮助您更好地理解这个主题。

本文目录一览:

您可以通过Passport进行身份验证而无需重定向吗?

您可以通过Passport进行身份验证而无需重定向吗?

我有以下工作代码可通过本地护照策略进行身份验证:

  app.post(''/api/login'', passport.authenticate(''local-login'', {    successRedirect : ''/api/login/success'',    failureRedirect : ''/api/login/error'',    failureFlash : true  }));  app.get(''/api/login/error'', function(req, res) {    res.send(401, {error: req.flash(''loginMessage'')});  });  app.get(''/api/login/success'', function(req, res) {    res.send(200, {user: req.user});  });

但是,理想情况下,我想从一条快速路径处理错误和成功消息,而不是重定向到两条额外的路径。

这可能吗?我尝试使用“自定义回调”,但由于某种原因似乎在序列化用户时出错。

答案1

小编典典

您可以使用自定义回调,例如:

passport.authenticate(''local'', function (err, account) {    req.logIn(account, function() {        res.status(err ? 500 : 200).send(err ? err : account);    });})(this.req, this.res, this.next);

在err对象中,您可以找到所有必需的错误,这些错误在身份验证时出现。

active-directory – 您可以使用AD LDS(ADAM)帐户对SSAS进行身份验证吗?

active-directory – 您可以使用AD LDS(ADAM)帐户对SSAS进行身份验证吗?

我对AD LDS很新,经验丰富,但没有SSAS资格,所以我对我对这些的无知感到抱歉.

我们有几个实现,我们通过HTTPS代理(msmdpump.dll)公开SSAS,目前我们有一个临时域设置处理这个(我们的最终用户有第二个帐户信用管理,因为这=非理想).我想让我们转向一个更持久的解决方案,我正在考虑将所有身份验证移植到AD LDS以用于我们的Web应用程序,SSAS和其他人.但是,SSAS是我关心的地方.

我知道SSAS需要Windows身份验证并且运行良好,这最终意味着将涉及Active Directory.

有没有办法用AD LDS完成这项工作,而不必使用完整的AD DS实现?如果是这样,怎么样?

(注意:我在StackOverflow的问题提出了一个建议,即我在ServerFault上发布此问题.如果我没有在正确的论坛上提问,我很抱歉.)

解决方法

我们最终选择了全面的AD-DS.

android-您可以在24小时以上的时间内通过Facebook进行身份验证吗?

android-您可以在24小时以上的时间内通过Facebook进行身份验证吗?

我正在使用Android上的Facebook SDK.启用单点登录后,身份验证始终仅在24小时后过期.有什么办法可以延长这个时间?

我从他们的示例应用程序开始,除了添加了几个权限外,没有更改与身份验证相关的任何内容.

解决方法:

您是否具有offline_access权限?

http://developers.facebook.com/docs/authentication/permissions

如果没有,那就是您要寻找的.

ASP.NET应用程序通过Windows身份验证或窗体身份验证向Active Directory或SQL进行身份验证

ASP.NET应用程序通过Windows身份验证或窗体身份验证向Active Directory或SQL进行身份验证

我正在编写一个需要多种形式的身份验证的应用程序。

该应用程序将需要支持对Active Directory的身份验证,但是如果用户不在Active Directory中,则该应用程序将能够故障回复到SQL
Membership Provider。我们可以根据提供的用户名使用代码处理SQL提供程序失败的原因,因为用户名的格式与Active
Directory用户名的格式不同。

这有可能吗?我的意思是,我可以同时使用成员身份并同时使用ActiveDirectoryMembershipProvider和SqlMembershipProvider,还是必须自己滚动?

另一个增加的复杂性是,我想基于Windows身份验证自动验证我的内部用户回到AD,但是对不在我们内部网络上的用户或使用SQL
Provider的用户使用窗体身份验证。

这些很有可能是一台单独的服务器,一台是内部的,另一台是外部的,因此我有很多计划要做,以弄清楚数据复制,以及如果AD用户访问外部服务器,我将如何对其进行身份验证等。

我想知道当我沿着这条路走时,那里有什么想法。如果我不自己动手,是否甚至想做些什么?或者是否有办法将它们网格化?


谢谢回复。

我最初询问的原因是,大约7年前,我能够使用IIS来进行身份验证,然后将凭据传递回Lotus Domino Server Web
App。如果未通过Windows身份验证/
ISS对用户进行身份验证,则Domino将处理身份验证。这就是我想要在此处执行的操作,但实际上想不出一种使它在IIS中工作的方法。

至于您的其余答复,我认为您已经按照我的要求采取了行动。我已经考虑了这一点,并在我的脑海中抛了很多东西。无论如何,这两个服务器上的应用程序都将有所不同,因为总会限制对外部服务器上数据的访问。事实已经非常不同了,我可以将它们视为两个应用程序,这样就不必在同一应用程序中使用两种类型的身份验证了。

我正在考虑为外部服务器编写自己的身份验证/登录窗口的想法,如果用户尝试使用其AD凭据登录外部服务器,我将能够检测到该问题并将其重定向到内部服务器。如果它们不在本地网络上或不在VPN中,则根本无法访问。尽管这部分还需要一些思考过程,所以我不确定。

还有一个想法-
是否有一种方法可以将足够多的AD提取到SQL数据库中,以允许我使用用户的AD凭据从外部服务器对SQL数据库进行身份验证,而不会造成任何安全问题?我希望我清楚地输入了我的想法。

再次感谢!

提姆

ASP.NET应用程序通过Windows身份验证或表单身份验证向Active Directory或SQL进行身份验证

ASP.NET应用程序通过Windows身份验证或表单身份验证向Active Directory或SQL进行身份验证

我正在编写一个需要多种身份验证形式的应用程序.

应用程序将需要支持对Active Directory的身份验证,但如果用户不在Active Directory中,则可以将其故障恢复到sql成员资格提供程序.我们可以根据用户名提供的代码处理sql提供程序的失败,因为用户名将是与Active Directory用户名不同的格式.

这是甚么可能吗?我的意思是,我可以使用会员资格并同时使用ActiveDirectoryMembershipProvider和sqlMembershipProvider,还是要自己滚动?

另一个额外的增加的复杂性是,我想自动将基于Windows身份验证的内部用户身份验证回AD,但对不在我们内部网络上的用户或正在使用sql提供程序的用户使用表单身份验证.

这些将很可能是单独的服务器,一个内部的,另一个是外部的,所以我有很多计划要做,以找出数据复制,以及如何对AD用户进行身份验证.

我想知道当我开始这条路时,有什么想法.是我想要做甚至没有我自己滚动,还是有办法网格化在一起?

谢谢回复.

我原来问的原因是因为我能够在7年前得到这个具体的senerio,使用IIS进行身份验证,然后将凭据传回给Lotus Domino Server Web App.如果用户未通过Windows身份验证/ ISS进行身份验证,那么Domino将处理身份验证.这是我在这里要做的,但是真的不能想办法让它在IIS中工作.

至于您的其余答复,我认为你是要采取的方式.我已经想到了这一点,把它扔在我的脑袋里.无论如何,两台服务器上的应用程序会有所不同,因为外部服务器上的数据访问受限.事实上,这样的事情将会有所不同,我可以将它们视为两个应用程序,因此无需在同一个应用程序中使用两种类型的身份验证.

我正在为外部服务器编写自己的身份验证/登录窗口的想法,如果用户尝试使用外部服务器上的AD凭据登录,我将能够检测到并将其重定向到内部服务器.如果他们不在本地网络或VPN’d在他们将根本无法访问.这部分还有一些思考过程,所以我不确定.

另外还有一个想法 – 有没有办法将足够的AD拉到sql数据库中,以允许我使用其AD凭证从外部服务器对sql数据库进行身份验证,而不会产生任何安全问题?我希望我明确打字我在想什么….

再次感谢!

蒂姆

解决方法

这是我基于 this info处理类似情况的方式:

>配置应用程序以使用Forms身份验证.
>将LoginUrl设置为一个名为WinLogin.aspx的页面.
>在WinLogin.aspx中,使用Request.ServerVariables [“logoN_USER”]获取用户名,然后调用FormsAuthentication.RedirectFromLoginPage(authorizedUserName,false)来登录.我想您可以手动检查Active Directory.
>创建一个重定向到一个名为Login.aspx的页面的html页面
> Login.aspx是您的标准用户名/密码登录.
>在IIS中,在整个站点上启用集成身份验证和匿名,但拒绝匿名访问WinLogin.aspx.
>在IIS中,将401错误设置为在步骤3中创建的页面.

基本上发生的一个原因是,当一个未加密的用户访问该站点时,它们被重定向到WinLogin.aspx.由于匿名关闭,集成安全检查.如果通过,您的WinLogin中的自定义代码可以运行.如果集成安全检查失败,则发生401错误.您的自定义401页面重定向到Login.aspx,用户可以使用其用户名和密码与sql提供程序登录.

今天的关于您可以通过Passport进行身份验证而无需重定向吗?的分享已经结束,谢谢您的关注,如果想了解更多关于active-directory – 您可以使用AD LDS(ADAM)帐户对SSAS进行身份验证吗?、android-您可以在24小时以上的时间内通过Facebook进行身份验证吗?、ASP.NET应用程序通过Windows身份验证或窗体身份验证向Active Directory或SQL进行身份验证、ASP.NET应用程序通过Windows身份验证或表单身份验证向Active Directory或SQL进行身份验证的相关知识,请在本站进行查询。

本文标签: