问题标签 [custom-authentication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
359 浏览

asp.net-mvc-3 - MVC3 松耦合认证

开箱即用的 MVC3 应用程序在使用 Intranet 项目模板或 Internet 项目模板的 Forms 身份验证时允许 Windows 身份验证。我也有一个我想使用的网站。此外,我有一个现有的站点,它使用它自己的自定义类型的身份验证来对用户进行身份验证(没有授权或角色,只是标识)。除了来自旧系统的数据进行身份验证之外,我可能还需要使用每个功能。因此,我正在尝试确定一种方法来抽象我的身份验证并将其解耦。我想使用某种完全基于配置的依赖注入,因此我可以在两个不同的位置部署同一个站点,并通过仅更改配置来切换身份验证模型(Windows Auth/Forms Auth/Custom Auth)。

目前,我使用过的所有 ASP.NET 应用程序,包括 MVC3 模板项目,似乎都与所使用的身份验证类型紧密结合。

我是不是在这个问题上想得太远了?

这是可能的,还是这种紧密耦合的原因?

更新我遇到 的真正问题是我需要为某些用户使用的现有旧式身份验证与我需要为其他用户使用的表单身份验证之间。Windows 与 Forms 身份验证并不是真正的问题,因为登录表单没有用于其中。但请考虑自定义身份验证和表单身份验证。LogIn 表单与 FormsAuthentication 紧密耦合,更具体地说与 System.Web.Security 耦合。(即 Membership.ValidateUser、FormsAuthentication.SetAuthCookie 等...)。

我想将要使用的身份验证注入到我的 AccountController 中,而不是使用 FormsAuthentication 和 Membership。

到目前为止,我的问题是什么?

0 投票
1 回答
980 浏览

ruby - 在 Rails 3 中使用 CanCan 授权和自定义身份验证

我是 Rails 的新手,并且在遵循 Lynda.com 教程后一直在 Rails 3 中开发应用程序,其中 Kevin Skoglund 向我们展示了一种使用 SHA1 Digest 对用户进行身份验证的方法。我在我的应用程序中使用了它,现在需要进行一些授权。当我四处搜索时,我发现 CanCan 是更好的 Rails 授权之一。但是,CanCan 似乎主要是使用 Devise 或 Authlogic 身份验证而不是自定义身份验证来实现的。

  1. 我想知道如果我们像我一样使用自定义身份验证,是否可以使用 CanCan。是这样,如何让 CanCan 工作?
  2. 看起来 CanCan 需要一些“create_user”,但我不确定如何/在哪里创建它。
  3. 我认为另一种选择是在每个页面上进行自定义检查以检查用户角色并在未经授权的情况下将它们重定向到错误页面,但这似乎是解决此问题的不好方法...您对此的看法请。
  4. 如果您需要任何其他信息,请告诉我。我正在使用 Ruby 1.9.3 和 Rails 3.2.1。

以下是我设置当前身份验证的方式。任何帮助将不胜感激。

access_controller.rb

user.rb(用户模型)

应用控制器.rb

0 投票
1 回答
12409 浏览

asp.net-mvc-3 - 在 MVC3 中使用自定义 IPrincipal 和 IIdentity

我创建了自己的IPrincipal实现IIdentity,如下所示:

另外,我创建了一个HttpModule并且在它的AuthenticateRequest事件中,我这样做:

另外,我创建了自己的ControllerWebViewPage喜欢这些:

如上面的代码所示,似乎一切都是正确的;但正如您所见,在1 号位置我无法访问CustomPrincipal!意味着在这个地方,我有 aRolePrincipal而不是CustomPrincipal. egHttpContext.Current.User是 aRolePrincipal而不是CustomPrincipal. 但RolePrincipal.Identity属性是CustomIdentity

0 投票
1 回答
853 浏览

ssas - 分析服务自定义身份验证

我为一家公司制作了一个 Web 应用程序,该应用程序允许用户输入他们公司已支付的所有发票。该公司在所有城市都有部门,用户只能看到与他们所在城市相关的数据。现在我设计了一个 OLAP 多维数据集,提供给他们分析数据。用户在应用程序上打开一个 Excel 数据透视表并连接到 SSAS,但他们可以访问整个数据。

我的问题是我如何才能通过 SSAS 仅显示与他们的城市相关的数据?任何帮助将不胜感激。

0 投票
1 回答
1078 浏览

active-directory - ASP.net C# 页面中的自定义 Windows Active Directory 身份验证

我有点希望能够进行混合窗口和表单身份验证。

有没有办法创建一些自定义代码来使用 javascript 获取 Windows AD 身份验证,或者我可以创建自定义 ashx 页面来检查身份验证?

0 投票
1 回答
549 浏览

cakephp - 如何绕过 CakePHP 自定义身份验证器对象中的致命错误处理?

我正在我的自定义 Authenticator 对象中进行基于肥皂的身份验证。有时肥皂端点可能不可用。这依次会抛出一个

然后将由

在 lib/Cake/Error/ErrorHandler.php 然后页面将被重定向到 lib Cake/View/Errors/fatal_error.ctp

现在,我如何再次重定向到我的登录页面并显示一个缓和的错误消息,而不是抛出不友好的 fatal_error.ctp 页面?我不能再创建一个 fatal_error 页面,因为我想再次重定向到我的登录页面。

谢谢

0 投票
1 回答
14111 浏览

symfony - symfony2 login_check 和自定义身份验证提供程序

我的项目中有以下与自定义身份验证提供程序完全相关的代码文件,并且我可以在身份验证(TokenInterface $token)中拦截请求,我已将回显“它有效”;出口; 在屏幕上打印消息,让我知道它在文件 AuthProvider.php 中输入了 authenticate()。

但是当我尝试将login_path:/login更改为login_path:/user/login并将check_path:/login_check 更改check_path:/user/login_check并修改 routing.yml 以让 UserBundle 具有前缀 /user 时,问题就出现了,那么代码将起作用,但它不会输入authenticate(),但它会打印“提供的密码无效”而不是“凭据错误”,我如何将 login_check 和 check_path 分别更改为 login 和 login_check 以外的其他值和让我的自定义身份验证提供程序使用新设置?

// app/config/security.yml

// app/config/config.yml

// app/config/routing.yml

// src/FD/UserBundle/Controller/LoginController.php

// src/FD/UserBundle/DependencyInjection/Security/Factory/UserFactory.php

// FD/UserBundle/Resources/config/services.yml

// FD/UserBundle/Resources/config/security_factories.yml

// FD/UserBundle/Security/Authentication/Provider/AuthProvider.php

// FD/UserBundle/Security/Authenticaion/Token/UserToken.php

// FD/UserBundle/Security/Firewall/AuthListener.php

// src/FD/UserBundle/Security/User/UserProvider.php

0 投票
1 回答
100 浏览

asp.net - 请帮助解决自定义身份验证问题

如果用户名和密码存在,我有简单的身份验证类型我在数据库中检查我创建 FormsAuthenticationTicket 并将其添加 HttpContext.Current.Response.Cookies.Add(cookie); 当我在请求之前检查 HttpContext.Current.User.Identity.IsAuthenticated 它返回 false 但如果我在 global.asax Application_AuthenticateRequest(object sender, EventArgs e) 中检查以下请求 HttpContext.Current.User.Identity.IsAuthenticated 返回 true

0 投票
1 回答
272 浏览

asp.net-mvc-3 - 使用 IOC 容器进行 MVC 3 表单身份验证

我在 ASP.NET MVC 3 项目中使用 IOC 容器实现表单身份验证时遇到问题。我们已经在数据库中存储了我们的用户信息,并且有很多自定义属性。

我有一个注册到 IOC 容器的用户定义接口,用于开发目的。该接口提供给每个控制器,因此控制器具有当前用户信息。

在我删除 Application_Start 中的虚拟用户注册之前,这一切都很好

我收到此错误: 当前类型 ...CurrentUserInformation.IUserInformation 是一个接口,无法构造。您是否缺少类型映射?

我不想使用虚拟用户对象,因为我认为这不是最佳做法。

有人可以帮助我还是有更好的方法来进行这种自定义身份验证?

编辑添加了一些代码

基本控制器

从 Application_Start 调用的引导程序初始化

0 投票
3 回答
16872 浏览

asp.net-mvc - 具有自定义身份验证的自定义 AuthorizeAttribute

我正在使用 ASP.NET MVC 4 Web 应用程序作为某些 WCF 服务的前端。所有用户登录/注销和会话控制都在后端完成。MVC 应用程序应该只存储一个带有会话 ID 的 cookie。我的客户端不允许使用表单身份验证,一切都必须自定义。

我在 web.config 中设置了以下内容:

我还有一个全局过滤器:

在 Global.asax 中调用

我已经用 [AllowAnonymous] 标记了每个不需要授权的控制器和操作。

现在我必须实现 MyAuthorizeAttribute。我尝试了一些教程,但没有一个完全符合我的场景。

基本上,我必须为每个动作处理以下场景:

  1. 如果存在有效的 cookie,则应认为当前请求已授权(将不会检查任何角色,只有一种用户)。
  2. 如果没有 cookie,我应该覆盖默认的 MVC 处理程序(它尝试加载帐户/登录)并将用户重定向到主页/索引页面,并显示用户应该登录的消息。
  3. 如果 WCF 方法调用抛出 FaultException,而我们的自定义 SecurityFault 表示会话已过期(SecurityFault 有一个包含异常原因的自定义枚举字段),我应该销毁我的自定义会话 cookie 并再次将用户重定向到主页/索引页面用户应该登录的消息,因为他的最后一个会话已过期。对于所有其他 SecurityFaults,我可以让它们通过 - 我有一个全局错误处理程序。

据我了解,我需要重写 AuthorizeCore (检查我的 cookie 以查看会话是否存在并且仍然有效)和 HandleUnauthorizedRequest (将用户重定向到主页/索引而不是默认登录页面)。

对于重定向,我尝试过:

这似乎可以很好地处理第二种情况(不过,我不确定那个基本调用 - 需要吗?)。

对于第一种情况,我需要实现 AuthorizeCore。我不确定,如何正确地做到这一点。我已经看到 AuthorizeAttribute 有一些用于处理缓存情况的代码,也许还有更多隐藏的功能,我不想破坏它。

对于第三种情况,我不确定 MyAuthorizeAttribute 是否能够处理它。AuthorizeAttribute 能否捕获 Action 内部发生的异常,或者我必须在全局错误处理程序中处理 SecurityFault.SessionExpired 情况?