标签: authorization

在ASP.NET MVC Beta中通过IP地址限制对特定控制器的访问

我有一个包含AdminController类的ASP.NET MVC项目,并给我这样的URls:

http://example.com/admin/AddCustomer

http://examle.com/Admin/ListCustomers

我想配置服务器/应用程序,以便只能从192.168.0.0/24网络(即我们的LAN)访问包含/ Admin的 URI

我想将此控制器限制为只能从某些IP地址访问.

在WebForms下,/ admin /是一个物理文件夹,我可以在IIS中限制...但是使用MVC,当然,没有物理文件夹.这是使用web.config或属性实现的,还是我需要拦截HTTP请求来实现这一目标?

c# security asp.net-mvc authorization web-config

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

ASP.NET MVC中的用户身份验证和授权

ASP.NET MVC中用户授权/身份验证的最佳方法是什么?

我看到有两种方法:

  • 使用内置的ASP.NET授权系统.
  • 使用具有我自己的用户,权限,用户组表等的自定义系统.

我更喜欢第二个选项,因为User是我的域模型的一部分(我对ASP.NET内置的东西没有经验),但我真的很想听听人们在这个领域做过什么.

.net authentication asp.net-mvc authorization

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

反应路由器授权

在组件安装之前进行授权检查的最佳做法是什么?

我使用react-router 1.x

这是我的路线

React.render((
  <Router history={History.createHistory()}>
    <Route path="/" component={Dashboard}></Route>
    <Route path="/login" component={LoginForm}></Route>
  </Router>
), document.body);
Run Code Online (Sandbox Code Playgroud)

这是我的仪表板组件:

var Dashboard = React.createClass({
  componentWillMount: function () {
    // I want to check authorization here
    // If the user is not authorized they should be redirected to the login page.
    // What is the right way to perform this check?
  },

  render: function () {
    return (
      <h1>Welcome</h1>
    );
  }
});
Run Code Online (Sandbox Code Playgroud)

javascript authorization reactjs react-router

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

MongoDB"root"用户

是否有像MongoDB的"root"用户的超级UNIX?我一直在关注http://docs.mongodb.org/manual/reference/user-privileges/并尝试了很多组合,但它们似乎都缺乏某个领域或其他领域.当然,有一个角色高于那里列出的所有角色.

authentication authorization roles mongodb mongodb-query

59
推荐指数
4
解决办法
13万
查看次数

是否应隐藏,禁用UI中的未授权操作或导致错误?

对我来说这是一个长期存在的问题,我从未真正解决过,所以我想要你的意见.如果我知道用户因权限或对象状态不足而无法执行的操作,那么这些操作的UI元素是否应对用户隐藏,可见但已禁用或可见,如果尝试会导致错误?你答案的理由是什么?如果禁用,您会告知原因,如果是,如何?

这是一个Web界面,所以我已经知道我需要检查传入的帖子/获取权限并在那里处理错误.我主要谈论如何处理UI.

这与关于禁用或隐藏菜单项的规则类似,但我对所有类型的UI元素感兴趣,而不仅仅是菜单.

例子:

  1. 我有一个新页面,允许用户创建一个新的事件.事件可以是主事件或子事件.创建主事件需要"EditMasterEvent"特权,而创建子事件只需要"EditEvent"特权.我有一个下拉列表,允许选择现有事件作为父事件(主事件)或没有父事件(这是一个主事件).如果用户仅具有"EditEvent"权限,那么"创建主事件"选项是否应显示在下拉列表中或省略.

  2. 删除事件要求您是应用程序管理员或具有事件类型的相应编辑权限.在后一种情况下,该活动也必须超过5年.删除事件会导致系统中相关数据的主要级联删除,并且出于法律原因,此数据必须在事件发生后保留至少5年.由于此操作对于普通用户来说很少见,因此典型情况是该操作不可用.是应该一直显示还是仅在实际可能时显示?

user-interface authorization

57
推荐指数
4
解决办法
7908
查看次数

在自定义授权MVC4 Web Api中访问post或get参数

是否可以通过HttpActionContext对象访问post或get参数?

我有一组传感器可以将数据记录到提供REST API的Web服务器上.我想通过让传感器在数据中包含其硬件ID然后在数据库中查找以查看id是否存在来介绍某种身份验证/授权.由于API提供了许多web api操作方法,我最好使用自定义授权属性

public class ApiAuthorizationFilter : AuthorizeAttribute
{
    protected override bool IsAuthorized(HttpActionContext actionContext)
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何从actionContext访问post/get数据?

编辑:POST的示例

POST /Api/api/ActionMethod/ HTTP/1.1\r\n
Content-Type: application/json\r\n
Host: localhost\r\n
Accept: */*\r\n
Content-Length:52\r\n
\r\n
{"Id": '121a222bc', "Time": '2012-02-02 12:00:00'}\r\n
Run Code Online (Sandbox Code Playgroud)

祝你今天愉快!

.net authorization asp.net-mvc-4 asp.net-web-api

57
推荐指数
2
解决办法
6万
查看次数

django rest_framework中缺少授权头,是否应该归咎于什么?

我设法扩展TokenAuthentication并且在使用请求会话来存储我的令牌时有一个工作模型,但是当我尝试作为此处所述Authorization的头参数传递时,我注意到我的响应没有META变量HTTP_AUTHORIZATION.我还注意到,如果我将"Authorization2"作为标头参数传递,它在请求中可见:

{
    '_content_type': '', 
    'accepted_media_type': 'application/json', 
    '_request': <WSGIRequest
        path:/api/test_auth/,
        GET:<QueryDict: {}>,
        POST:<QueryDict: {}>,
        COOKIES:{
            'MOD_AUTH_CAS_S': 'ba90237b5b6a15017f8ca1d5ef0b95c1',
            'csrftoken': 'VswgfoOGHQmbWpCXksGUycj94XlwBwMh',
            'sessionid': 'de1f3a8eee48730dd34f6b4d41caa210'
        },
        META:{
           'DOCUMENT_ROOT': '/etc/apache2/htdocs',
           'GATEWAY_INTERFACE': 'CGI/1.1',
           'HTTPS': '1',
           'HTTP_ACCEPT': '*/*',
           'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
           'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch',
           'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8',
           'HTTP_AUTHORIZATION2': 'Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4c',
           ...
Run Code Online (Sandbox Code Playgroud)

我的第一个猜测是apache正在删除授权头,并且我已经阅读了一些S/O问题,这些问题表明,如果apache与基本授权不匹配并进行身份验证,则会丢弃该值,但我不知道如何允许Authorization标头"传递"到Django和WSGIRequest.有谁知道如何解决这个问题?

我也使用mod_auth_cas和mod_proxy,如果改变了什么..

apache authorization apache2 mod-proxy django-rest-framework

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

如何在Swagger UI中发送带有请求的自定义标头?

我在API中有一些端点 - /user/login, /products.

在扬鞭UI我张贴email,并password/user/login和我收到的响应token串.

然后,我可以从响应中复制令牌,并希望将其用作Authorization对所有URL的请求中的标头值(如果它存在),并/products作为示例.

我应该在Swagger UI页面上的某处手动创建文本输入,然后将令牌放在那里并以某种方式注入请求或是否有工具以更好的方式管理它?

api authorization swagger swagger-ui

56
推荐指数
6
解决办法
9万
查看次数

ASP.NET MVC表单身份验证+授权属性+简单角色

我正在尝试向ASP.NET MVC应用程序添加简单的身份验证和授权.

我只是试图在基本的表单身份验证上增加一些功能(由于简单性和自定义数据库结构)

假设这是我的数据库结构:用户:用户名密码角色(理想情况下是一些枚举.如果需要,则为字符串.目前,用户只有一个角色,但这可能会改变)

高级问题:鉴于上述数据库结构,我希望能够做到以下几点:

  • 使用表单身份验证简单登录
  • 用以下方式装饰我的行为:[授权(角色= {MyRoles.Admin,MyRoles.Member})]
  • 在我的视图中使用角色(以确定在某些部分中显示的链接)

目前,我真正确定的是如何进行身份验证.在那之后,我迷路了.我不确定我在哪个位置获取用户角色(登录,每次授权?).由于我的角色可能不是字符串,我不确定它们如何适应User.IsInRole().

现在,我在这里问,因为我没有找到一个"简单"完成我需要的东西.我见过多个例子.

对于身份验证

  • 我们有简单的用户验证来检查数据库和"SetAuthCookie"
  • 或者我们覆盖成员资格提供程序并在ValidateUser中执行此操作.在其中任何一个中,我不确定如何处理我的简单用户角色,以便它们使用:HttpContext.Current.User.IsInRole("Administrator")此外,我不知道如何修改它以使用我的枚举值.

对于授权,我看到:

  • 派生AuthorizeAttribute并实现AuthorizeCore OR OnAuthorization来处理角色?
  • 实施IPrincipal?

任何帮助将不胜感激.但是,我担心我可能需要很多细节,因为我用Google搜索的内容似乎都不适合我需要做的事情.

asp.net-mvc authorization forms-authentication

54
推荐指数
2
解决办法
6万
查看次数

扩展AuthorizeAttribute覆盖AuthorizeCore或OnAuthorization

使用ASP.NET MVC我正在创建一个自定义Authorize属性来处理一些自定义授权逻辑.我已经看了很多例子,这很简单,但我的问题是哪种方法最好覆盖,AuthorizeCore或OnAuthorization?我见过许多覆盖其中一个的例子.有区别吗?

asp.net-mvc authorization action-filter asp.net-mvc-3

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