我有一个具有两个RESTendpoint的应用程序:
对于第一个endpoint,我不想发送“授权”标头。为此,我配置了以下xml:
<security:intercept-url pattern="/api/products" method="GET" access="permitAll"/>
对于第二个endpoint,我确实想发送“授权”标头。因此,我配置了这个xml:
<security:intercept-url pattern="/api/products" method="POST" access="hasRole('ROLE_ADMIN')"/>
令我惊讶的是,GET /api/products需要一个“授权”标头,它返回401。POST /api/products工作得很好。我只需发送一个带有有效值的“授权”标头,一切都很顺利。
我意识到使用
我正在使用Spring Security 4
您应该简单地删除< code >
法律问题. 包含的项目 主题使用 Bootstrap, ReadTheDocs, GhostWriter 和 Bootswatch 项目的许可. Bootstrap theme - View license. ReadTheDocs theme - View license. Bootswatch theme - View license. Highlight.js GitHub theme -
授权许可是一个代表资源所有者授权(访问受保护资源)的凭据,客户端用它来获取访问令牌。本规范定义了四种许可类型——授权码、隐式许可、资源所有者密码凭据和客户端凭据——以及用于定义其他类型的可扩展性机制。
授权码许可类型用于获得访问令牌和刷新令牌并且为受信任的客户端进行了优化。由于这是一个基于重定向的流程,客户端必须能够与资源所有者的用户代理(通常是Web浏览器)进行交互并能够接收来自授权服务器的传入请求(通过重定向)。 +----------+ | Resource | | Owner | | | +----------+ ^ |
Serenity 使用一些抽象(abstractions)来与你的应用程序自身的用户身份验证和授权机制一起工作。 Serenity.Abstractions.IAuthenticationService Serenity.Abstractions.IAuthorizationService Serenity.Abstractions.IPermissionService Serenity.Abst
请求地址 https://api.es.xiaojukeji.com/river/Auth/authorize 返回数据格式 JSON 请求方式 POST 是否需要登录 否 访问授权限制 调用方访问授权后,将返回的授权信息缓存半小时(缓存过期或调用服务时返回401=>access_token不合法或已过期,再重新申请授权),不要每次调用接口都申请一次授权。 请求参数 名称 类型 必选 描述 cli
说明 调用方访问授权后,将返回的授权信息缓存半小时(缓存过期或调用服务时返回401=>access_token不合法或已过期,再重新申请授权),不要每次调用接口都申请一次授权。 地址URL /v1/Auth/authorize 支持格式 Json或普通form HTTP请求方式 POST 是否需要登录 否 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的