问题标签 [authorize-attribute]

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 投票
3 回答
4656 浏览

c# - 使用 [Authorize] 集成测试 Web Api

所以我在 [Authorize] 标签上找到了一些启发我的点点滴滴,但没有任何东西可以解决我的问题。

我的情况是我有 Web Api 方法,我想使用 RestSharp 进行集成测试。但是 RestSharp 正在获取我的登录页面,而不是调用的结果。

该产品使用自定义登录系统,而我真正想要的是一种仅在集成测试中禁用 [Authorize] 徽章的方法。但是我读到您可以允许匿名用户并且它会“禁用”徽章,因此在解决方案中,我有一个集成测试项目,并且在该项目中我有一个 App.config 文件。在那个文件中我放了:

但这似乎也不起作用。任何关于发生了什么、为什么它不工作以及可以做些什么来使它工作的解释将不胜感激。

我试图设置一个 Thread.CurrentPrincipal 但这没有用(也许我做错了 - 你可以在代码中设置“任何东西”吗?)。如果有帮助的话,身份验证会在 httpmodule 中处理。

0 投票
1 回答
7525 浏览

c# - ASP.NET MVC 4 用户身份验证

我正在尝试编写一个登录方法,该方法对用户进行身份验证和授权进入我使用 ASP.NET MVC 4 开发的网站。问题是,尽管我在验证登录方法中的用户并重定向到 ViewProfile 操作后调用了 FormsAuthentication.SetAuthCookie 方法, User.Identity.IsAuthenticated 在我的自定义 Authorize 属性对象中返回仍然为 false。

我给出了下面的代码:

这是 MyAuthorizeAttribute 类的代码

我错过了什么?

0 投票
1 回答
2549 浏览

c# - 在 ServiceStack 中注册自定义凭据身份验证提供程序

我是从他们的文档中读到的,上面写着:

然后您需要注册您的自定义凭据身份验证提供程序:

我的问题是: 我把这个放在哪里?此外,评论“用户名/密码凭据的 HTML 表单帖子”是什么意思?

目前,我有一个 ServiceStack 服务,它在调用时返回 JSON。我想在它上面添加一个 Authorize 属性,这样只有授权用户才能访问它。

我按照他们的建议创建了一个类:

如何“注册您的自定义凭据身份验证提供程序”?

0 投票
1 回答
2074 浏览

asp.net-mvc - 授权属性生命周期

有人可以解释为什么授权属性生命周期似乎是相对于它所应用的类或方法进行管理的吗?这与相对于请求生命周期进行管理相反。

如果我在类级别装饰控制器,则授权属性构造函数只会在对同一控制器的多个请求中调用一次。如果我装饰每个控制器方法,那么我会为每个调用的控制器方法获得新的授权属性构造函数调用。

这是什么行为?我希望每次请求都会创建授权属性。

0 投票
2 回答
2587 浏览

c# - 使用 ValidateAntiForgeryToken 自定义授权过滤器订单执行

我在一个方法上使用了几个授权过滤器。

它们都是授权过滤器,所以我希望 AuthenicationFilter 在 ValidateAntiForgeryToken 过滤器之前运行。但是 ValidateAntiForgeryToken 在 Authentication 过滤器之前运行。

我知道这可以通过 Order 属性来解决。但我想知道这种行为的原因,并且我想确保它按该顺序执行(在相应的过滤器类型中 - 授权、操作..等等)。

0 投票
1 回答
1856 浏览

c# - 具有枚举角色参数的自定义 AuthorizeAttribute 获取 ajax 调用中的空值

我的自定义 AuthorizeAttribute 有问题

我这样使用它:

它非常适合 HttpGet 和 HttpPost 验证我的控制器和方法。

但是当我在 ApiController 中使用它并进行 ajax 调用时,AuthorizeCore 没有运行,我遇到了安全漏洞。:/

我的枚举看起来像这样

有谁知道为什么我的 AuthorizeCore 在这种情况下没有验证?

顺便说一句,如果我使用

它验证得很好,但我想拥有 Stronly Typed Roles,这就是我使用枚举的原因。

0 投票
1 回答
478 浏览

ajax - asp.Net MVC 授权在部分视图中发出的请求并通过服务器附加标头

我正在尝试执行以下操作,但不确定我是否以正确的方式进行此操作。如标题所述,我使用的是 asp.net mvc 4。

  • 从一个页面,我向服务器发出 ajax 请求。ajax 请求调用follow 函数。

    /li>
  • 在此函数中,我尝试使用 HttpWebRequest 执行摘要身份验证

  • 这似乎可以很好地进行身份验证,并且我能够解析标题。

  • 然后您会注意到我正在尝试将这些标头附加到发出此请求的当前页面。

  • 最后我调用局部视图返回当前页面。局部视图除了一个 src 属性等于上述函数中存在的 url 的 img 标记之外没有其他任何东西。

这不像我希望的那样工作。在萤火虫中查看净流量后,我相信它正在发出请求,仅向该请求添加标头,调用部分视图和部分视图然后再次需要进行身份验证,因此再次弹出用户名和密码的弹出窗口。

是的。我在想象如何完成这项工作时遇到了一些麻烦,我将不胜感激任何建议。

最好的,

乍得

0 投票
1 回答
2317 浏览

asp.net-mvc-3 - 如何调试 AuthorizeAttribute 和 FormsAuthentication 调用

我在表单身份验证、AuthorizeAttribute 和 302 重定向循环方面遇到了疯狂的问题。我需要找出发生了什么。无论如何我可以调试表单身份验证和 AuthorizeAttribute 吗?

只是一些更多的细节,以防它很重要:

  1. 我正在使用自定义成员提供程序和角色提供程序。我已经实现了正确的方法,并从我的自定义数据库表中读取用户/角色。

  2. 我有以下内容web.config指向我的自定义提供程序:

    /li>
  3. 我的一些控制器/动作是“开放的”。其中一些有'Authorize[Roles="admin"]' 和类似的。

  4. 有时我可以在应用程序上工作几个小时而没有任何事情发生。有时我在登录后不久就遇到了 302 重定向循环,然后我尝试进入其他页面之一。一旦发生这种情况,有时我什至无法进入顶级路径而不进入 302 重定向循环。

任何方向,任何指针,任何建议都将不胜感激。

0 投票
3 回答
7913 浏览

c# - 相互感知的多个授权属性

我有一个非常简单的场景。我想用自定义授权属性装饰我的控制器/操作。如果任何属性有效,则应授予授权。例如,

我无法将参数组合成一个授权属性。上面的例子只是一个简化的例子。

如果任一属性授权用户,我希望用户被授权。我假设ActionFilterAttribute或者AuthorizeAttribute有办法查看其他过滤器已执行并等待执行,但没有这样的运气。

我怎样才能做到这一点?由于属性似乎没有任何意识,也许是HttpModule?一个习俗ControllerActionInvoker

0 投票
1 回答
2808 浏览

c# - 使用配置文件和角色等扩展 AspNetUsers - VS2013

我需要一种方法:

  • 可以管理所有用户的超级管理员用户。
  • 一个注册/登录表单,允​​许用户使用用户名和密码注册并使用它登录
  • 注册后,一种向其个人资料添加更多详细信息的方式。

我知道 MVC 4.0 - 5.0 具有 [AuthorizeAttribute] 并且我想利用 Microsoft 的安全性,而不是使用一些易于破解并让其他开发人员想哭的蹩脚用户表来散列我的方式。

所以我可以看到有一个名为AspNetUsers的数据库表,该表中有一个 Id 列。所以我假设我允许用户使用内置注册表单进行注册......然后在登录时他们可以使用我自己的 EF UserProfile 类结构来填写有关他们自己的详细信息:

这一切听起来都是对的还是我错过了一些技巧?

如何为用户添加角色?这对我来说是全新的(就使用这个框架而言)。因此,假设我需要将自己添加为超级管理员,我需要一个超级管理员角色。

然后我需要这样做,以便任何人都可以作为成员角色注册到应用程序......

最后,作为超级管理员,我需要能够授予已注册为 ProjectAdministrators 的个人...然后我可以使用属性标签 [Authorize(role="ProjectAdministrators")]

我了解这里的后勤工作,但是为用户添加角色并将配置文件链接到用户的示例对我来说很合适!


如果让用户使用电子邮件地址以及用户名和密码进行注册是一件很重要的事情呢?我是否只是将列添加到 AspNetUsers 数据库表中?.. 我在哪里为 AspNetUsers 模型定义新属性?