spring-security - 如何向我的服务提供商验证角色/权限信息 wso2 身份服务器?
问题描述
我正在使用带有 wso2IS 5.4.0 的 Spring 安全 SAML2.0 SSO。我已将角色声明添加到服务提供商内部的 wso2is 中。现在我可以在 saml 断言中获得用户角色。
在这里,我想验证他们角色的用户基础。我在 securityContext.xml 中映射了具有某些角色的应用程序(服务提供者)url
<security:http entry-point-ref="samlEntryPoint" use-expressions="false" auto-config="true" access-denied-page="/saml/web/auth/denied">
<security:intercept-url pattern="/saml/web/home" access="ROLE_MEMBER"/>
<security:intercept-url pattern="/saml/web/getUserDetails" access="ROLE_ADMIN"/>
<security:intercept-url pattern="/**" access="IS_AUTHENTICATED_FULLY"/>
<security:custom-filter before="FIRST" ref="metadataGeneratorFilter"/>
<security:custom-filter after="BASIC_AUTH_FILTER" ref="samlFilter"/>
</security:http>
解决方案
在服务提供者访问期间,如果您想根据身份服务器对用户进行身份验证,则可以使用 XACML 策略“authn_role_based_policy”。如果您使用此 XACML 策略,则仅允许具有特定角色的用户进入身份验证流程,而其他用户将被拒绝。您可以参考编写 XACML 策略文档。
推荐阅读
- sql - 如何使用存储过程在 sql server 中 PIVOT 表?
- c++ - 我可以将对象的子对象设置为在 PugiXML 中单独定义的对象吗?
- django-forms - Django mysql EnumField 没有出现在 HTML 页面上
- javascript - 如何从节点 api 运行 jscodeshift?
- prolog - 如何列出放弃一家航空公司的所有行程
- javascript - 使用 Javascript 生成 Python 进程
- excel - Excel power Query:分组和转置
- c++ - 保存指向在本地创建的堆的指针
- c - 如何使用自动工具创建静态链接的共享库
- android - 如何使用 kotlin 在片段中调用 DrawableCompat.setTint 的上下文?