相关疑难解决方法(0)

散列和加密算法之间的根本区别

我看到哈希和加密算法之间存在很多混淆,我希望听到一些更专业的建议:

  1. 何时使用哈希与加密

  2. 什么使哈希或加密算法不同(从理论/数学水平),即什么使哈希不可逆(没有彩虹树的帮助)

以下是一些类似的 SO问题,没有像我想要的那样详细说明:

混淆,散列和加密有什么区别?
加密和散列之间的区别

security encryption hash cryptography

494
推荐指数
10
解决办法
20万
查看次数

通过PHP进行HTTP身份验证注销

注销HTTP身份验证保护文件夹的正确方法是什么?

有一些解决方法可以实现这一点,但它们具有潜在的危险性,因为它们可能是错误的,或者在某些情况/浏览器中不起作用.这就是为什么我正在寻找正确和干净的解决方案.

php authentication .htaccess password-protection http-headers

149
推荐指数
8
解决办法
11万
查看次数

SAML与OAuth的联合登录

SAML与OAuth联合登录有什么区别?如果公司想要使用第三方Web应用程序,并且还希望单点登录并成为身份验证机构,那么哪种解决方案更有意义?

authentication oauth saml

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

身份验证和授权之间有区别吗?

我看到这两个术语相当多(特别是在基于网络的场景中,但我认为它并不仅限于此),我想知道是否存在差异.

在我看来,他们都意味着你被允许做你正在做的事情.这只是一个命名法,还是意义上有一个基本的区别?

security

94
推荐指数
4
解决办法
5万
查看次数

从ASP.NET Core 1.1 MVC迁移到2.0后,自定义cookie身份验证无法正常工作

我已经将ASP.NET Core 1.1 MVC项目迁移到ASP.NET Core 2.0,现在我注意到对应用程序的未授权部分的请求不再导致"401 Unauthorized"响应,而是导致响应的代码异常" 500内部服务器错误".

日志文件的示例摘录(John Smith无权访问他尝试访问的控制器操作):

2018-01-02 19:58:23 [DBG] Request successfully matched the route with name '"modules"' and template '"m/{ModuleName}"'.
2018-01-02 19:58:23 [DBG] Executing action "Team.Controllers.ModulesController.Index (Team)"
2018-01-02 19:58:23 [INF] Authorization failed for user: "John Smith".
2018-01-02 19:58:23 [INF] Authorization failed for the request at filter '"Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter"'.
2018-01-02 19:58:23 [INF] Executing ForbidResult with authentication schemes ([]).
2018-01-02 19:58:23 [INF] Executed action "Team.Controllers.ModulesController.Index (Team)" in 146.1146ms
2018-01-02 19:58:23 [DBG] System.InvalidOperationException occurred, checking if Entity Framework recorded this …
Run Code Online (Sandbox Code Playgroud)

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

7
推荐指数
1
解决办法
1836
查看次数

什么是CA证书,为什么我们需要它?

我刚刚阅读了有关什么是HTTPS服务的文章,并了解了https的基本知识。

请求https内容时,服务器将向浏览器发送公钥,以便每次浏览器接收到的数据都将使用公钥解密。

我的问题是什么是CA证书?我们为什么需要它?

ssl pki x509

6
推荐指数
3
解决办法
4591
查看次数

ZF2将BjyAuthorize与Zend\Navigation集成

我有集成BjyAuthorize和Zend导航的问题,不知道如何解决它们.我试试这本手册,一切正常.但我预计当我在其中定义警卫时bjyauthorize.config,我的导航和警卫配置之间会有反映(拒绝控制器或路线不显示导航项).我的问题是导航项仍然显示,但部分被正确保护.有什么办法,如何将警卫反映到导航中?我在Module.php中查看帮助程序配置

我的Application/Module.php视图助手配置:

'mainMenu' => function($sm){
                $nav = $sm->get('navigation')->menu();
                $serviceLocator = $sm->getServiceLocator();
                $acl = $serviceLocator->get('BjyAuthorize\Service\Authorize')->getAcl();
                $role = $serviceLocator->get('BjyAuthorize\Service\Authorize')->getIdentity();
                $nav->setAcl($acl);
                $nav->setRole($role); // Todo replace
                $nav->setUseAcl();
                return $nav->setUlClass('nav')->setTranslatorTextDomain(__NAMESPACE__); 
            }
Run Code Online (Sandbox Code Playgroud)

我的守卫配置在bjyauthorize.global.php

'guards' => array(
    'BjyAuthorize\Guard\Controller' => array(
        array('controller' => 'Article\Controller\Article', 'roles' => array('user')),
),
Run Code Online (Sandbox Code Playgroud)

还有我的navigation.global.php

return array(
    'navigation' => array(
       'default' => array(
           'articles' => array(
                'label' => 'Articles',
                'route' => 'articles',
            ),
        ),
    ));
Run Code Online (Sandbox Code Playgroud)

我尝试将路由配置更改为模块/控制器/操作,但仍然无法正常工作.

navigation zend-framework2

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

kubernetes/kops:默认用户和权限

使用kubectlkops 1.8

aws使用创建kops的客户端证书(在client-certificate-data字段中 显示为字符串~/.kube/config)旋转集群时,具有以下值:

    Subject: O=system:masters, CN=kubecfg
Run Code Online (Sandbox Code Playgroud)

除非我错了,从 开始kubernetes 1.4Organitazion的值被解释为group信息(与CN值相关联的字符串就是所谓的用户,因为k8s本质上没有这样的概念)

1:如何查看与system:masters组和/或kubecfg用户相关联的权限?

  • (与上述有关):我现在使用的开箱即用授权方法是什么?RBAC? 我该如何检查?

2:为什么在我的项目~/.kube/config包含一个kubecfg用户?(而是一个带有我的集群名称的用户和另一个名为的用户admin?)

$ kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: REDACTED
    server: <server_url>
  name:  <my_cluster_name>
contexts:
- context:
    cluster:  <my_cluster_name>
    user:  <my_cluster_name>
  name:  <my_cluster_name>
current-context:  <my_cluster_name>
kind: Config
preferences: …
Run Code Online (Sandbox Code Playgroud)

kubernetes kops kubernetes-security

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

如何在 .NET Core 中正确设置 WEB API 的策略授权

我有这个 Web API 项目,没有 UI。我的appsettings.json文件有一个部分列出了令牌以及它们属于哪个客户端。所以客户端只需要在标头中提供一个匹配的令牌。如果未提供令牌或无效令牌,则应返回 401。

在 ConfigureServices 我设置授权

.AddTransient<IAuthorizationRequirement, ClientTokenRequirement>()
.AddAuthorization(opts => opts.AddPolicy(SecurityTokenPolicy, policy =>
 {
       var sp = services.BuildServiceProvider();
       policy.Requirements.Add(sp.GetService<IAuthorizationRequirement>());
 }))
Run Code Online (Sandbox Code Playgroud)

从我所见,这部分正确触发。这是 ClientTokenRequirement 的代码

protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ClientTokenRequirement requirement)
    {
        if (context.Resource is AuthorizationFilterContext authFilterContext)
        {
            if (string.IsNullOrWhiteSpace(_tokenName))
                throw new UnauthorizedAccessException("Token not provided");

            var httpContext = authFilterContext.HttpContext;

            if (!httpContext.Request.Headers.TryGetValue(_tokenName, out var tokenValues))
                return Task.CompletedTask;

            var tokenValueFromHeader = tokenValues.FirstOrDefault();

            var matchedToken = _tokens.FirstOrDefault(t => t.Token == tokenValueFromHeader);

            if (matchedToken != null)
            {       
                httpContext.Succeed(requirement);
            }
        } …
Run Code Online (Sandbox Code Playgroud)

c# authorization asp.net-core asp.net-core-webapi asp.net-core-2.0

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

通过授权限制对 Play Framework 中方法的访问 - Java

我无法理解 PlayFramework(版本 2.5)中的授权概念。我的情况是我有一个 REST API 方法getUser,我想通过使用名为 的自定义请求标头中的令牌执行授权来限制其访问"X-Authorization"。现在我的控制器代码如下所示:

package controllers;

import models.User;
import org.bson.types.ObjectId;
import play.mvc.*;
import org.json.simple.*;
import views.html.*;

public class ApiController extends Controller {

    public Result getUser(String userId) {

        User user = User.findById(new ObjectId(userId));
        JSONObject userG = new JSONObject();

        //Some code to append data to userG before return
        return ok(userG.toJSONString());
    }
}
Run Code Online (Sandbox Code Playgroud)

路由 URL 定义如下:

GET    /api/user/:id    controllers.ApiController.getUser(id)
Run Code Online (Sandbox Code Playgroud)

选项 1可能是检查方法内的授权令牌getUser,并检查其他凭据,但我想在调用getUser方法之前限制访问。将来我将向此 REST API 添加更多方法调用。因此,我也将对未来的 REST API 重复使用相同的授权。

我发现 Play Framework 中有可用的 …

java authentication playframework deadbolt-2 playframework-2.5

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

[Authorize] 属性如何知道用户在 ASP.NET MVC 中进行了身份验证,是使用身份验证令牌吗?

我想知道[Authorize]属性如何识别此用户已通过身份验证?

如果用户是有效的,那么我们调用FormsAuthentication.SetAuthCookie()方法,根据 MSDN 这个方法:

为提供的用户名创建身份验证票,并将其添加到响应的 cookie 集合中,如果您使用的是无 cookie 身份验证,则添加到 URL。

[Authorize] 属性是检查身份验证票还是 cookie 集合?

asp.net-mvc

1
推荐指数
1
解决办法
2723
查看次数