标签: authorization

asp.net mvc用多个枚举装饰[Authorize()]

我有一个控制器,我想要两个角色才能访问它.1-admin或2-moderator

我知道你可以做[授权(角色="管理员,版主")]但我在枚举中有我的角色.凭借枚举,我只能授权一个角色.我无法弄清楚如何授权两个.

我尝试了类似[Authorize(Roles = MyEnum.Admin,MyEnum.Moderator)]但不会编译的东西.

有人曾经这样说过:

 [Authorize(Roles=MyEnum.Admin)]
 [Authorize(MyEnum.Moderator)]
 public ActionResult myAction()
 {
 }
Run Code Online (Sandbox Code Playgroud)

但它不能作为OR.我认为在这种情况下,用户必须是BOTH角色的一部分.我忽略了一些语法吗?或者这是我必须推出自己的自定义授权的情况?

asp.net-mvc authorization roles

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

31
推荐指数
1
解决办法
5万
查看次数

.NET中的身份验证,授权,用户和角色管理以及一般安全性

我需要知道如何为C#应用程序实现一般安全性.在这方面我有什么选择?如果满足我的需求,我宁愿使用现有的框架 - 我不想重新发明轮子.

我的要求如下:

  • 通常的用户名/密码验证
  • 管理用户 - 为用户分配权限
  • 管理角色 - 将用户分配给角色,为角色分配权限
  • 用户根据用户名和角色授权

我正在寻找一个由.Net社区进行时间处理和使用的免费/开源框架/库.

我的应用程序采用客户端/服务器方法,服务器作为Windows服务运行,连接到SQL Server数据库.客户端和服务器之间的通信将通过WCF进行.

这是很重要的一件事是,我需要能够给特定用户或角色的权限分配给查看/更新/删除特定的实体,无论是客户或产品等.例如,杰克可以查看某些10的3客户,但只更新微软,雅虎和谷歌客户的详细信息,并且只能删除雅虎.

c# security authorization roles

31
推荐指数
1
解决办法
4万
查看次数

配置Fiddler使用公司网络的代理?

我正试图让Fiddler与我公司的代理合作.每个外部请求都返回407.

到目前为止,我已经尝试添加oSession.oRequest ["Proxy-Authorization"] ="YOURCREDENTIALS"; 到我在base64中使用USERNAME:PASSWORD的自定义规则.仍然没有运气.

有任何想法吗?谢谢.

authentication proxy authorization fiddler http-status-code-407

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

如何使用Python抓取需要先登录的网站

首先,我认为值得一提的是,我知道有很多类似的问题但是没有一个对我有用......

我是Python,html和web scraper的新手.我正试图从需要先登录的网站上抓取用户信息.在我的测试中,我使用刮刀github的电子邮件设置作为示例.主页是" https://github.com/login ",目标页面是" https://github.com/settings/emails "

这是我尝试过的方法列表

##################################### Method 1
import mechanize
import cookielib
from BeautifulSoup import BeautifulSoup
import html2text

br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)

# Browser options
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)


br.addheaders = [('User-agent', 'Chrome')]

# The site we will navigate into, handling it's session
br.open('https://github.com/login')

for f in br.forms():
    print f

br.select_form(nr=0)

# User credentials
br.form['login'] = 'myusername'
br.form['password'] = 'mypwd'

# Login
br.submit()

br.open('github.com/settings/emails').read()


################ Method 2
import urllib, urllib2, cookielib …
Run Code Online (Sandbox Code Playgroud)

python cookies authorization http scraper

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

如何对应用了[Authorize]属性的控制器方法进行单元测试?

我搜索了stackoverflow并用Google搜索了几个小时,但仍未找到解决我"琐碎"问题的任何解决方案.

如果您为过滤器编写单元测试[Authorize] ActionResult,那么如何解决问题以假冒该用户的身份验证?

我有很多ActionResult过滤的方法,[Authorize]我想测试我的所有ActionResult方法,无论它们是否被过滤[Authorize].

我的意思的一个简单例子:

[TestMethod]
public void Create_Get_ReturnsView()
{
 // Arrange
 var controller = new UserController();
 // Act
 var result = controller.Create();
 // Assert
 Assert.IsNotNull(result as ViewResult);
}

[Authorize]
public ActionResult Create()
{
 return View("Create");
}
Run Code Online (Sandbox Code Playgroud)

截至目前,由于[Authorize]过滤器,测试甚至没有命中ActionResult方法,抛出的异常是: System.NullReferenceException: Object reference not set to an instance of an object.

asp.net-mvc unit-testing authorization

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

django:用户注册错误:没有这样的表:auth_user

我尝试使用Django的默认Auth来处理注册和登录.而且我觉得这个程序很标准,但我的错误.

我的setting.py:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'books',
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

AUTH_USER_MODEL = 'books.User'
Run Code Online (Sandbox Code Playgroud)

我的books.models.py:

class User(AbstractUser):
    account_balance = models.DecimalField(max_digits=5, decimal_places=2, default=0)
Run Code Online (Sandbox Code Playgroud)

我的views.py:

from django.contrib.auth.forms import UserCreationForm

def register(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            new_user = form.save()
            return HttpResponseRedirect("/accounts/profile/")
    else:
        form = UserCreationForm()
    return render(request, "registration/register.html", {'form': form,})
Run Code Online (Sandbox Code Playgroud)

我的urls.py

urlpatterns = patterns('',
    (r'^accounts/login/$', login),
    (r'^accounts/logout/$', logout),
    (r'^accounts/profile/$', profile),
    (r'^accounts/register/$', register),
)
Run Code Online (Sandbox Code Playgroud)

即使我尝试删除db.sqlite3并重新python manage.py …

python authentication django authorization

30
推荐指数
7
解决办法
6万
查看次数

PHP POST请求中缺少授权标头

我目前正在尝试读取我正在使用POST请求调用的PHP脚本中的授权标头.Authorization标头填充了令牌.似乎Authorization标头在它到达我的PHP脚本之前以某种方式被删除.我正在使用Postman(Chrome插件)执行发布请求,并在我的PHP脚本中启用了CORS.我没有直接访问apache服务器.

HTTP请求:

Accept:*/*
Accept-Encoding:gzip,deflate
Accept-Language:de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4,ja;q=0.2
Authorization:Bearer mytoken
Cache-Control:no-cache
Connection:keep-alive
Content-Length:32
Content-Type:text/plain;charset=UTF-8
Host:www.myhost.com
Origin:chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
 User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)       
 Chrome/38.0.2125.104 Safari/537.36
Run Code Online (Sandbox Code Playgroud)

PHP脚本:

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Authorization, Origin, X-Requested-With, Content-Type,      Accept");
header("Content-Type: application/json");

$headers = getallheaders();
echo $headers['Authorization'];
Run Code Online (Sandbox Code Playgroud)

上面的脚本输出''(=无).

php apache authorization header http

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

如何通过Facebook的Javascript SDK安全地授权用户

我想让用户使用他们的Facebook ID登录我的网站,而无需重新加载页面.这就是我使用Facebook Javascript SDK的原因.此方案使用此SDK描述授权流程: 在此输入图像描述

在流程结束时,我知道用户已登录,我知道他们的Facebook ID.然后我可以通过此ID在我的数据库中注册它们,然后让它们用它来登录.

然而,这似乎非常不安全.为了让我的服务器端脚本知道用户的ID,我必须通过AJAX发送它.但是,我无法知道它是否是ID的所有者谁正在尝试登录.任何人都可以发送带有ID的POST请求(特别是一个获取另一个用户的ID).

我目前的想法是让用户像往常一样通过JS SDK登录,通过AJAX将ID和访问令牌发送到服务器,然后在PHP脚本中使用cURL以确保用户实际登录.

这是要走的路,还是我忽略了更好的选择?

security authorization facebook facebook-javascript-sdk facebook-login

29
推荐指数
2
解决办法
5557
查看次数

Spring Data REST中的身份验证和授权

我正在实现一个基于Spring Data REST的应用程序,我想知道是否有一种优雅的方法来使用此框架或相关框架实现身份验证和授权规则.

对REST服务器的所有HTTP请求都必须带有身份验证标头,我需要检查它们并决定是否根据HTTP方法以及经过身份验证的用户与所请求资源的关联进行授权.例如,(应用程序是电子学习系统的REST服务器),教师只能访问自己的课程部分,学生只能访问他们订阅的课程部分等.

我想知道是否有一种默认方式在Spring Data REST中实现授权.如果答案是否定的,你能否就我的问题提出建议?我在考虑:

  • Servlet过滤器
  • 春季安全
  • Spring Data REST Handler(如何访问HTTP头?)

spring authorization spring-mvc spring-security spring-data-rest

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