标签: authorization

在自定义Authorize属性中覆盖AuthorizeCore会导致"找不到合适的方法来覆盖"错误

我正在尝试构建自定义AuthorizeAttribute,所以在我的Core项目(类库)中我有这样的代码:

using System;
using System.Web;
using System.Web.Mvc;
using IVC.Core.Web;
using System.Linq;

namespace IVC.Core.Attributes
{
    public class TimeShareAuthorizeAttribute : AuthorizeAttribute
    {
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            if(!httpContext.Request.IsAuthenticated)
                return false;

            var rolesProvider = System.Web.Security.Roles.Providers["TimeShareRoleProvider"];

            string[] roles = rolesProvider.GetRolesForUser(httpContext.User.Identity.Name);

            if(roles.Contains(Website.Roles.RegisteredClient, StringComparer.OrdinalIgnoreCase))
            {
                return true;
            }

            return false;
        }

        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            filterContext.Result = new RedirectResult("/TimeShare/Account/LogOn");

            base.HandleUnauthorizedRequest(filterContext);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试构建该东西时,我收到此错误:错误2'IVC.Core.Attributes.TimeShareAuthorizeAttribute.AuthorizeCore(System.Web.HttpContextBase)':找不到合适的方法来覆盖 ...

我在这里错过了什么吗?我已经搜索了所有网站,但我找到的每个网站都告诉我要完成我在这里所做的事情.我正在使用mvc2 btw.

  • 编辑添加:如果我在同一个解决方案中将类移动到mvc项目,则没有编译器错误.

asp.net-mvc attributes authorization

28
推荐指数
3
解决办法
3万
查看次数

如何处理数据库中用户的身份验证/授权?

目前,我正在使用JSF 2.0,Tomcat 7和MongoDB开发一个Web项目.我有一个很大的问题,如何处理数据库中用户的会话管理和身份验证/授权.

我想要的结构如下:只有登录用户才能创建事件,每个人都可以看到创建的事件.

  • create.xhtml - >仅适用于已登录的用户.
  • events.xhtml - >为大家公开.

我计划的基本结构是:

  • 检查页面是否需要登录用户(例如create.xhtml)
  • 如果是,请检查用户是否已登录
  • 如果用户未登录,请转到 login.xhtml
  • 如果成功登录,请返回请求的页面
  • 除非用户单击"注销"按钮,否则请保留"用户已登录"信息.(我想@SessionScoped进入比赛)

问题是:

  1. 这种不那么复杂的方法是什么?
  2. 我应该在哪里使用@SessionScoped注释?在Create.javaLoginManager.java
  3. 对于我的问题,Spring安全性看起来很复杂,我真的需要它吗?如果是的话,你能解释一下实现如何与JSF 2.0和Mongo DB一起工作吗?

database authentication jsf authorization java-ee

28
推荐指数
1
解决办法
3万
查看次数

配置部分在web.config文件中不能包含CDATA或文本元素错误

我在服务器上执行应用程序时遇到错误"配置部分不能包含CDATA或文本元素(web.confing第149行),错误行如下,

<location path="admin">
   <system.web>
    <authorization>             
        <allow roles="Admin"/>
        <deny users="*"/>;
    </authorization>
   </system.web>
</location>
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个错误.

asp.net authorization web-config

28
推荐指数
3
解决办法
5万
查看次数

ASP.NET 5针对两个或多个策略进行授权

是否可以针对两个或更多策略应用授权?我使用的是ASP.NET 5,rc1.

[Authorize(Policy = "Limited,Full")]
public class FooBarController : Controller
{
    // This code doesn't work
}
Run Code Online (Sandbox Code Playgroud)

如果没有,我如何在不使用政策的情况下实现这一目标 有两组用户可以访问此控制器:"完整"和"有限".用户可以属于"完整"或"有限",或两者兼而有之.它们只需要属于两个组中的一个以访问该控制器.

c# authorization asp.net-core-mvc asp.net-core

28
推荐指数
4
解决办法
2万
查看次数

Flask-principal教程(auth + authr)

有人知道关于烧瓶原理的好教程吗?我正在尝试进行身份验证和授权(needRole和needIdentity),但我还没有得到任何结果.

我几乎肯定没有真正全面的教程 - 也许你们中的一些人有一些时间在他们手上,并希望发布一个教程作为答案?我真的决心用烧瓶代替django,但需要解决这个问题.

python authentication authorization flask

27
推荐指数
3
解决办法
2万
查看次数

Web.API中的自定义授权

我对ASP.NET MVC的理解是,对于授权,我应该使用类似的东西 -

public class IPAuthorize : AuthorizeAttribute {

protected override bool AuthorizeCore(HttpContextBase httpContext) {
    //figure out if the ip is authorized 
    //and return true or false
}
Run Code Online (Sandbox Code Playgroud)

但在Web API中,没有AuthorizeCore(..).

OnAuthorization(..)和MVC的一般建议是不使用OnAuthorization(..).

我应该在Web API中使用什么来进行自定义授权?

c# asp.net-mvc authorization asp.net-web-api

27
推荐指数
2
解决办法
3万
查看次数

在laravel控制器中获取Header Authorization键?

尝试在控制器中获取标头授权密钥以生成API.请求来自提琴手.

$headers = apache_request_headers();
Run Code Online (Sandbox Code Playgroud)

并且$ header包含一个数组.

Array
(
    [User-Agent] => Fiddler
    [Host] => localhost:8000
    [Content-Length] => 102
    [Authorization] => TestKey
)
Run Code Online (Sandbox Code Playgroud)

如果我这样尝试获取授权,则抛出错误.

$header['Authorization]
Run Code Online (Sandbox Code Playgroud)

错误:

Undefined index: Authorization
Run Code Online (Sandbox Code Playgroud)

尝试了许多获得授权的方法,但没有做任何工作.有没有办法取这个?

php authorization laravel laravel-5

27
推荐指数
2
解决办法
5万
查看次数

在ASP.NET MVC中自定义授权

我的Controller类使用AuthorizeAttribute进行修饰以保护操作:

[Authorize(Roles = "User Level 2")]
public class BuyController : Controller
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

无论何时调用某个操作但用户至少不是"用户级别2"角色,他会自动重定向到登录页面,其中包含以下URL:

HTTP://本地主机:1436 /帐号/登录RETURNURL =%2fBuy

如果用户已登录但没有正确的安全级别,则这不是最佳行为!显示一个页面会更有意义,该页面通知用户缺少的级别而不是显示登录页面.

我该怎么做才能自定义此行为?是否有可能以某种方式将所需的用户级别传递给Login操作?

security asp.net-mvc authorization

26
推荐指数
1
解决办法
2万
查看次数

创建TOKEN系统以验证Web服务调用的最佳方法?

我想创建一个可以被各种平台调用的Web服务体系结构,例如移动设备,winforms应用程序,iphone,黑莓,你可以命名它.因此,使用像WCF和wsHttp绑定这样的东西可能会导致这种情况失败,我需要降级到basicHttp绑定以实现兼容性.

话虽如此,我需要一个系统在初始登录(身份验证)时生成令牌,然后使用此令牌进行所有后续调用,我想,验证身份验证并允许该方法执行.

任何人都有关于如何解决这个问题的提示或建议?1)生成令牌以及安全令牌中涉及的内容?2)令牌有多长时间,一些用户可能会使用他们的应用程序几个小时甚至可能"睡眠"他们的计算机

谢谢你的建议.

security authentication authorization web-services token

26
推荐指数
1
解决办法
3万
查看次数

使用后端授权的JavaScript安全模式?

我正在寻找一些关于如何在客户端JavaScript中处理基本安全需求(例如授权)的良好资源,模式和实践.

我正在建立一个网站,其后端系统运行一个常见的MVC框架.后端将处理所有真正的安全需求:授权和身份验证.前端将使用Backbone.js,jQuery和一些其他库构建,以提供非常丰富的用户体验.

这是我需要处理的一个场景的示例:

我有一个数据网格,顶部有几个按钮.如果选择网格中的某个项目,则会启用某些按钮,以便您可以对所选项目执行该操作.这个功能很容易构建......

现在我需要考虑授权.后端服务器将仅呈现允许用户使用的按钮.此外,后端服务器将在用户尝试执行该操作时检查授权....所以如果未经授权,后端将被覆盖,用户将无法执行他们尝试的操作.

但是JavaScript怎么样?如果我的代码设置了一堆jQuery点击处理程序或启用和禁用按钮的其他事件,我该如何处理不存在的按钮?我只是写了一堆丑陋的if语句来检查按钮的存在吗?或者我是否以一种允许我只根据授权将存在的按钮的JavaScript发送到浏览器的方式来编写JavaScript?要么 ???

现在想象一下树视图可能允许也可能不允许基于授权的拖放功能......以及基于授权可能存在或不存在的添加/编辑表单......以及所有其他复杂的授权需求,很多JavaScript来运行前端的那些部分.

我正在寻找资源,模式和实践来处理这些类型的场景,其中后端处理真正的授权,但前端还需要考虑基于授权的不存在的事情.

javascript security authorization design-patterns backbone.js

26
推荐指数
2
解决办法
5689
查看次数