- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的数据库中,系统用户有一个他/她可以访问的模块列表。
我希望能够添加一个授权属性来检查是否是这种情况。
例如[authorise(UserID, ControllerName)]
这涉及到一些代码,确保指定了 UserID 的用户在他/她的列表中具有 Controller 名称。
目前,您可以通过使用 URL 简单地绕过选项卡不可见的事实。 (我的代码已经检查用户是否指定了访问权限并隐藏/显示选项卡)
最佳答案
public class MyAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var isAuthorized = base.AuthorizeCore(httpContext);
if (!isAuthorized)
{
return false;
}
string currentUser = httpContext.User.Identity.Name;
string currentController = httpContext.Request.RequestContext.RouteData.GetRequiredString("controller");
// TODO: go hit your database and see if currentUser can access
// currentController and return true/false from here
...
}
}
然后装饰你的 Controller 或 Action :
[MyAuthorize]
public class FooController: Controller
{
...
}
话虽如此,我怀疑您可能在数据库设计中走错了路,即存储了哪些用户有权访问哪些 Controller 操作的列表。可能您应该为此使用角色。让数据库知道 Controller 感觉不对。
所以:
[Authorize(Roles = "Foo,Bar")]
public class FooController: Controller
{
...
}
只有具有 Foo
或 Bar
角色的用户才能访问 FooController
。
关于ASP.NET MVC3 : custom [authorise] attribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8923423/
我在使用 spring oauth 框架时发现的是资源服务器向授权服务器发出 check_token?token=T_O_K_E_N 请求,而授权服务器只是返回 CheckTokenEndPoint
在我的数据库中,系统用户有一个他/她可以访问的模块列表。 我希望能够添加一个授权属性来检查是否是这种情况。 例如[authorise(UserID, ControllerName)] 这涉及到一些代码
我正在开发一个 Android 应用程序,它使用 Beam 将自定义消息发送到另一台设备。 如果我的应用程序存在于两个设备上,那么它工作正常。但如果它不存在于接收端,那么我仍然在发送端收到 onNde
我有一个想法,可以将 Google Drive 用作无数据库 CMS,客户可以将他们的文件放在特定的文件夹中,然后可以在外部站点上访问这些文件夹。例如,他们会上传一张图片,脚本会遍历该文件夹中的所有图
当使用浏览器刷新刷新 asp 网络托管的 BLAZOR 渐进式 Web 应用程序时,PWA 应用程序执行身份验证往返。在此时间跨度内,主要内容 div 显示文本:“Authorising...”。这个
授权过滤器允许您指定可以访问 Controller 或操作的用户组: [Authorize(Roles="Administrator")] public class HomeController :
我想在 Google Cloud Plattform 上使用 Cloud Run 部署一个私有(private) GitHub 存储库。 在 GitHub 中,我通过单击 Cloud Run 中的“身
我想使用 Tomcat 实现一个基本的 RESTful 服务。 API 在使用前需要授权。授权将通过请求帐户“资源”来实现,例如 some.domain.com/rest/accounts?user=
尝试查看已部署的应用程序时,我始终收到此错误消息。 Authorisation is required to perform that action 如何解决该错误? 脚本中使用的服务: Script
我创建了一个简单的 Ruby on Rails 4 应用程序,其中包含一些简单的模型和一个部署在我的测试 VPS 上的 PosgreSQL 数据库。然后我使用 Rails 生成器创建了三个设计模型。
我正在使用 ActiveMerchant 开发 Ruby on Rails 应用程序的计费组件。我们选择的支付网关是PaymentExpress . 我看到的代码示例如下所示,使用 authorize
我最近遇到了授权一个新的 Google App Script 项目的问题,特别是一个使用 Cloud SQL 管理 API 的问题。 以前授权的 GAS 项目中存在相同的代码并且工作正常,但是如果我获
我使用 CoreLocation 在我的应用程序上发现了一个奇怪的行为。我正在使用区域监控功能,但在授权位置服务(通过弹出窗口或设置 -> 位置服务)后,区域监控失败(操作无法完成。kCLErrorD
我有免费试用的自动续订订阅。 如果用户在试用期内取消订阅,并且在一天或一周或一个月后再次购买订阅,会发生什么情况。 他是否获得了另一个试用期? 如果是这样,你怎么能防止它。 如何避免滥用? 在Appl
我正在尝试使用 Facebook 对用户进行身份验证。它工作正常,除了 Ajax 调用。大多数时候它只是发送旧 token ,我得到: {"error":{"message":"This author
我正在使用 Google 的 OAuth 服务器流程。首先是用户单击运行 javascript 的链接以打开一个弹出窗口,其中 URI 中包含以下请求,一切正常: var endpoint = "ht
我在使用 magento 中的 authorised.net 方法进行排序时遇到错误: "Gateway error: (TESTMODE) The merchant login ID or pass
我是一名优秀的程序员,十分优秀!