问题标签 [authorize]

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 回答
735 浏览

asp.net-mvc - ASP.NET MVC4 存储库注入到依赖于当前登录用户的控制器

假设我正在创建一个具有以下功能的“TODO 列表”Web 应用程序:

  • 能够注册/登录用户
  • 每个用户都有自己的 TODO 列表,独立于其他用户

所以我创建了一个具有 ToDoItem 类的简单模型。

我想使用良好的做法,所以我创建了一个通用存储库,它应该从数据库中获取 TODO 项目:

(实现是使用 EF 和代码优先的方法完成的,但现在这并不重要)

这个存储库将被注入到控制器中,允许用户列出、添加、删除、编辑 TODO 项。这是通过我创建的自定义控制器工厂完成的,该工厂使用 Ninject DI 容器将存储库接口解析为具体实现。所以控制器看起来像这样:

我的问题是让控制器只为当前登录的用户返回 TODO 列表的最佳方法是什么?理想情况下,我希望控制器使用当前登录的用户注入和预设的存储库。换句话说,我想在操作方法中避免这种代码:

我在想可能的解决方案是让控制器工厂以某种方式知道登录了哪个用户,以便初始化具体的存储库并设置用户 ID,这样控制器就不必在每个操作方法中都这样做。这会是一个好方法吗?如果是这样,我该如何实施?如果没有,有什么更好的选择?

0 投票
1 回答
24458 浏览

c# - MVC 4 表单身份验证不适用于 [授权]

我现在正在学习 MVC4,我正在按照 Pro ASP NET MVC4 第 4 版书创建一个 Sports Store 项目。

我一直在 webforms 中开发,我试图弄清楚表单身份验证在 MVC4 中是如何工作的。

这是我所取得的成就:

网络配置

AccountController 登录操作:

身份验证提供者:

我正在设置 AuthCookie,现在我想知道,如何保护 AccountController 之外的其他控制器和操作

该应用程序有一个名为 AdminController 的控制器,您可以
在以下 {controller/action} 下编辑产品和产品列表

管理员/索引

所以,如果我没有误解这个理论,如果用户没有登录 AccountController,他们应该不能在声明中调用带有 [Authorize] 标记的操作:

问题是我可以毫无问题地调用管理控制器的索引操作,而无需引入登录。

我需要一些指导来了解它是如何工作的。我做了一些研究,找不到任何东西,这本书没有涵盖这个主题。

提前致谢。

编辑:我关闭了 Chrome 浏览器并在没有更改任何内容的情况下工作。我正在使用标签,我猜即使停止和开始调试 cookie 也是活动的。

0 投票
1 回答
1128 浏览

php - 如何保持应用程序授权(Twitter OAuth)

所以,我正在使用 twitter OAuth API 并尝试从我的家庭时间线显示推文,它成功了

但是,每次我想从我的家庭时间线访问推文时,我都需要授权我的应用程序,如果我只是重新加载我放置推文的页面,那么推文将为空

我不喜欢 dabr,所以用户使用 twitter 登录,无论用户做什么,用户都不需要再次授权应用程序

有什么解决办法吗?

0 投票
2 回答
7172 浏览

asp.net-mvc - 授权控制器中的一项操作,但不需要角色

我有一个产品控制器,需要“product_editor”角色来访问大多数方法。有一些操作不需要授权,因此 [AllowAnonymous] 效果很好。但是,我有一个操作我想要求他们登录,但他们可能不是产品编辑器。

有没有一种简单的方法来为一个动作声明这个?

你可以看到我的一些尝试被注释掉了

- 编辑 -

找到了一个可行的解决方案,但会喜欢基于属性的解决方案,因为我的其余身份验证是在属性中完成的,并且 [AllowAnonymous] 有点误导。

0 投票
1 回答
631 浏览

facebook - 获取管理页面访问令牌以将事件上传到 Facebook 页面

我正在编写代码以允许将事件从网站上传到 facebook,为此我需要一个管理页面访问令牌,我发现获取该令牌的过程是:

首先将域添加到应用程序:

然后通过以下方式获取短期访问令牌:

https://www.facebook.com/dialog/oauth?client_id=[App ID]&redirect_uri=[完整网站 uri]&scope=create_event&response_type=token

然后从以下位置获取更持久的访问令牌:

https://graph.facebook.com/oauth/access_token?client_id=[App ID]&client_secret=[App Secret]&grant_type=fb_exchange_token&fb_exchange_token=[上面给出的访问令牌]

然后从以下位置获取特定于页面的令牌:

https://graph.facebook.com/me/accounts?access_token=[上面给出的访问令牌]

这将返回一个 json 编码数组,其中包含我管理的每个页面的令牌,我收集的每个页面持续 60 天。

但是我不管理我正在编码的网站,所以不希望每 2 个月重复一次这个手动程序,有人可以给出一个自动化程序的想法或确认 Facebook 是否不可能。

0 投票
1 回答
17417 浏览

asp.net-mvc-4 - ASP .Net MVC 4 授权和 AllowAnonymous

我对这个框架完全陌生,我仍在学习它和 C# 的基础知识。同时,我在阅读书籍时遇到了AuthorizeAllowAnonymous属性,我无法理解控制器如何“知道”尝试访问这些方法/操作的用户是否经过身份验证。这些信息存储在哪里?执行登录方法时需要特殊处理吗?

谢谢你的帮助。

0 投票
1 回答
366 浏览

javascript - gapi.auth.authorize: TypeError: cv(...) is null

我的网络应用程序使用googlejavascript 客户端 API,但它现在无法正常工作。

Firefox控制台 中出现错误消息,例如:TypeError: cv(...) is null

有没有人遇到过这个问题?

0 投票
1 回答
2175 浏览

ios - 移动应用程序的 Magento REST API OAuth

我正在开发一个使用 Magento REST API 的 iOS 应用程序,我正在遵循 Magento 为 OAuth 身份验证提供的文档(http://www.magentocommerce.com/api/rest/authentication/oauth_authentication.html

我使用启动端点来获取请求令牌,但是当我想授权这个令牌时,我需要使用“授权”端点,在那里我被重定向到一个 URL,我必须提供客户凭据来授权请求​​令牌。这不是我所期望的行为,因为用户已经使用应用程序的登录名登录(尚未实现)。有没有办法让这个“授权”步骤对用户透明?就像调用某些服务将其传递给我的应用程序登录屏幕中提供的用户凭据一样?

如果没有办法,我将使用 Magento 的 SOAP API

0 投票
2 回答
1751 浏览

c# - 如何在 void 函数中有 RedirectToAction

在我的代码中,我正在调用一个函数,该函数对数据库进行一些验证检查,如果它们失败,它应该将用户发送到“拒绝访问”页面......但似乎不起作用。

以前,重定向将使用 Server.Transfer 或 Response.Redirect,但不确定如何使用 MVC 实现正确的效果。

简化,我的代码看起来像这样,任何帮助将不胜感激

运行代码时会进入 CheckSecurity() 函数,但无论其中的代码如何,它始终显示 MyPage

0 投票
0 回答
115 浏览

oauth-2.0 - 我们可以按照完全相同的程序来刷新我们最初用来生成它们的linkedin oauth2 令牌吗?

或者简单地说,如果我根本不更改我的代码并让用户再次经历相同的授权过程,无论旧访问令牌的有效性如何,我都会获得新的访问令牌吗?此外,如果旧令牌没有过期并且我拿回了相同的令牌,它们现在会延长 60 天的有效期吗?我的问题不是关于如何刷新令牌,我想知道我是否可以使用生成linkedin oauth2 令牌的代码来刷新令牌(我浏览了LinkedIn 开发人员网站上的许多论坛帖子,但这很令人困惑)。