问题标签 [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 投票
2 回答
2103 浏览

c# - 将数据从 AuthorizeCore 传递到 HandleUnauthorizedRequest 然后在 ASP.NET MVC4 中操作

如果我覆盖以下方法,我有一个处理未经授权的用户访问的自定义实现AuthorizeAttributeAuthorizeCore然后HandleUnauthorizedRequest.

  • 检查用户访问的逻辑在AuthorizeCore.
  • 到控制器/动作的重定向在HandleUnauthorizedRequest.

现在,我想知道如何将数据从 AuthorizeCore 发送到控制器/动作?按照这个顺序:

  1. AuthorizeCore创建一条消息。
  2. HandleUnauthorizedRequest执行重定向并传递先前创建的消息。
  3. 控制器/动作接收消息。

注意:我不想通过 QueryString 接收消息。

0 投票
2 回答
2545 浏览

asp.net-mvc-3 - 如何修改授权属性以允许 MVC 3 中的一组用户角色

在我的 MVC3 wep 应用程序中,我扩展了 Authorize 属性,如下所示

在我的行动中,我使用它就像

现在,我必须在每个操作中指定每个用户角色。我想做的是指定如下内容

这应该允许任何等于或高于“成员”的用户角色。因此,应允许“SalesRep”,而不应允许“会员”之下的“访客”。

所有用户角色都是数字增加的枚举

如何修改 MyAuthorizeAttribute 以使其工作?

谢谢

0 投票
4 回答
9640 浏览

c# - 在开发过程中绕过或关闭 [Authorize(Roles="")]?

构建一个 MVC3 应用程序,TPTB 希望我们使用他们的自定义授权提供程序。然而,在开发过程中,这个身份验证提供程序有点痛苦,因为它要么会给出错误,直到你关闭/重新启动浏览器,要么会要求你在每次编译时重新登录。

现在,我刚刚添加<authentication mode="None"/>到 web.config,它工作正常,直到我遇到使用[Authorize(Roles = "Admin")]过滤器的操作或控制器(它可以是任何角色,而不仅仅是管理员)。当它遇到其中一个时,它只会呈现一个空白页面。

有没有办法在全局范围内暂时关闭这些过滤器?或者只是在我开发时给用户所有角色?

编辑

让我澄清一下——我实际上是在将一个大型应用程序从 MVC2 移植到 MVC3。它有很多[Authorize(Roles="Admin")]并且[Authorize(Roles="Admin,Editor")]贯穿其中。如果可能的话,我宁愿不改变所有这些。

我是否应该创建一个自动提供所有角色的小型自定义角色提供程序?

0 投票
1 回答
3619 浏览

asp.net-mvc - HttpContext.Current.Request.LogonUserIdentity.Groups 返回不同的结果

我正在尝试使用 Windows 身份验证在我的 MVC Intranet 应用程序中的特定控制器上使用 MVC Authorize 属性。IIS 7.5 设置为仅使用 Windows 身份验证,并且在 web.config 中禁用匿名访问。我通过了域的身份验证,但是,当对控制器执行任何操作时,我仍然会收到输入凭据的提示。我检查了我的浏览器设置 (IE9),它被设置为使用我当前的 Windows 凭据自动登录。

我试图创建一个自定义的 Authorize Attribute 类来查看发生了什么。在 AuthorizeCore 中,我使用 httpContext 检查了我的用户名和组成员身份。我发现我所属的 System.Web.HttpContext.Current.Request.LogonUserIdentity.Groups 中缺少一个组。一旦 authorizecore 返回 false 并出现凭据提示,我将提供与我当前登录的凭据相同的凭据,然后 AuthorizeCore 再次运行。这一次,找到了所有适当的组,基础 AuthorizeCore 当然授权用户并且一切正常。这是我创建的自定义授权类

我整个控制器的属性是:

另一件事,web.config 中的角色管理器是:

关于这应该如何工作,我有什么不明白的吗?我只是希望我的身份验证/授权由 AD 处理。我是 MVC 的新手,并且诚实地配置了任何身份验证/授权方案。我确实下载了 MVC 3 的源代码来查看 AuthorizeAttribute 类的代码,看看是否有对我有意义的东西。任何建议在这里将不胜感激!

0 投票
3 回答
4853 浏览

asp.net-mvc - MVC4 授权属性覆盖;如何通过角色?

我正在尝试创建自己的 [Authorize] 属性,以便我可以使用自己的授权逻辑来拥有分层角色。

如果有人[Authorize(Roles = "Admin")]在控制器或操作上执行我如何在我的 AuthorizeCore 函数中获取字符串“Admin”?

我正在使用这段代码:

MVC4、.net 4.5、c#、VS 2012

0 投票
1 回答
75 浏览

asp.net-mvc - 总结授权属性

我有一个提供各种管理功能的 ASP.net MVC 网站。它是内部的,使用 Windows 身份验证来管理不同角色对各种控制器和操作的访问。

为了实现这一点,我用 [Authorize(Roles="")] 装饰了各种对象

这个项目现在已经相当成熟了,搜索显示我已经使用了近 60 次该属性 - 我现在正处于开始感到不安全的地步,我需要一种方法来有效地管理谁可以访问什么。

所以我真正想要构建的是一个站点地图类型的页面,它列出了站点上的所有视图以及可以访问旁边列出的每个视图的角色列表。

我已经搜索过,但似乎找不到如何开始 - 任何指针都会被大大接收 - 谢谢。

0 投票
1 回答
314 浏览

asp.net - 需要帮助了解 ASP .Net MVC 用户身份验证/授权

我一直在兜圈子,试图正确理解这一点。

我有一个正在处理的 ASP .Net MVC 项目,需要实现对外部系统进行授权和身份验证的用户登录(通过 web 服务)。

我似乎无法在我需要MembershipProviderAuthorizeAttribute上下文中理解我的想法。

我需要使用哪个(我相信两者兼而有之)以及我需要在哪里自定义以提供针对外部系统的身份验证。

除了默认的 ASP .Net 用户主体之外,我还需要另外一件事,即外部 Web 服务将在成功登录后返回一个会话 ID,该会话 ID 将用于对外部服务的后续请求。

有人能指出我这种设置的一些有用示例的方向吗?

0 投票
1 回答
216 浏览

c# - 授权属性扩展新关键字

我想在不创建自定义授权对象的情况下扩展 Authorize Attribute 的关键字过滤器。

我知道内置关键字是角色,用户。我想添加一个新的关键字调用级别,看看用户访问级别是否大于某个级别。

这将允许我只为用户创建一个角色。

这个的用法是

如果您需要其他信息以使您更好地了解我正在尝试解决的问题,请告诉我。

我看过但无法解决这个问题。你能提供一个代码示例吗?这就是我的目的。使用级别过滤器时出现错误。

0 投票
1 回答
1667 浏览

asp.net-mvc - ASP.NET MVC - 如何在自定义授权过滤器中获取命名空间?

我必须实现自定义授权过滤器。

(检查Is Authorized,需要Namespace、Controller Name和Action Name)

我没有设法获取命名空间。这是我的代码:

示例控制器.cs:

CustomAuthFilter.cs:

如何获得命名空间?

提前谢谢了。

0 投票
1 回答
13884 浏览

asp.net-mvc-4 - MVC 4 覆盖 AuthorizeAttribute 不起作用

我创建了一个基本的 MVC 4 项目。添加了 HomeController 和 Home\Index.cshtml 和 ContactUs.cshtml。在 Global.asax 中为 ContactUs 添加路由。

添加一个文件夹 Auth 并在 Auth 文件夹中添加一个类 Auth.css。

在 HomeController

问题是当运行代码并访问 http://localhost:[port number here]/Home/ContactUs 时,它没有命中覆盖类 AuthAttribute。

代码有问题吗?