AngularJs - 在url中显示用户名密码

时间:2015-12-19 16:24:59

标签: angularjs authentication asp.net-web-api owin form-authentication

我有一个带Webapi的AngularJs应用程序(c#)。我有一个登录页面,但有时当我点击“登录”按钮时,它会在URL中添加用户凭据,这会导致安全问题。

我正在使用OWIN进行身份验证。

1 个答案:

答案 0 :(得分:1)

我在申请中遇到了类似的错误。我很困惑,因为我们肯定没有明确添加用户名和& URL的密码,它只发生在某些情况下 - 而不是所有时间。

最终,今天,我深究其中。

我发现,当您没有指定操作或方法时,将表单参数添加到URL是默认的HTML行为。表单方法默认为GET,它解释了为什么将参数添加到URL。

然后我发现了" ng-submit"中指定的Angular控制器方法。因为表单元素根本没有被调用。

当我检查控制台中记录的Javascript错误时,我意识到由于在呈现登录页面时抛出了未处理的异常,因此未加载Angular容器。

我们的具体情况是前端(Angular)应用程序无法与后端(Java)API通信 - 当我们在后端服务器容器启动之前加载登录页面时。当发生这种情况时,我们在初始化期间为从应用程序数据库加载常量而进行的一些API调用失败,并且我们的应用程序常量未在错误函数中正确初始化。这导致了一个"未知的提供商"抛出导致Angular框架中止初始化的异常,导致提交的表单由默认的HTML行为处理!

所以我建议其他任何遇到这个问题的人看看在你的Angular应用程序初始化过程中是否有任何错误被抛出。