首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何定制PicketLink AuthenticationFilter?

如何定制PicketLink AuthenticationFilter?
EN

Stack Overflow用户
提问于 2014-07-09 15:02:03
回答 2查看 1K关注 0票数 1

我已经在我的web应用程序上安装和运行了PicketLink,但是我似乎不能按组或角色保护资源。(org.picketlink.authentication.web.AuthenticationFilter) PicketLink AuthenticationFilter没有提供任何方法来说明哪个url模式属于哪个组或角色。如何保护管理目录,以便只有管理组中的用户才能访问它?现在,如果您已登录,则可以访问所有内容。

web.xml文件:

代码语言:javascript
复制
        <filter>
            <filter-name>PicketLinkAuthenticationFilter</filter-name>
            <filter-class>org.picketlink.authentication.web.AuthenticationFilter</filter-class>

            <init-param>
                <param-name>authType</param-name>
                <param-value>FORM</param-value>
            </init-param>
        </filter>

        <filter-mapping>
            <filter-name>PicketLinkAuthenticationFilter</filter-name>
            <url-pattern>/admin/*</url-pattern>
            <url-pattern>/standarduser/*</url-pattern>
        </filter-mapping>

我试图创建我自己的自定义AuthenticationFilter,但我做不到,我真的希望我能做一些像春天那样的事情。类似于此或使用IDM函数(如hasRole或isMember):

代码语言:javascript
复制
    <intercept-url pattern="/admin/*" access="ADMIN" />
    <intercept-url pattern="/member/*" access="ADMIN,STANDARDUSER" />
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-23 23:05:20

除非我完全误解了您想要做的事情,否则我认为您可以通过编程配置接口来做您想做的事情。见文件第12.2节

代码语言:javascript
复制
public class HttpSecurityConfiguration {

public void configureHttpSecurity(@Observes SecurityConfigurationEvent event) {
    SecurityConfigurationBuilder builder = event.getBuilder();

    builder
        .http()
            .forPath("/*.jsf")
                .authenticateWith()
                    .form()
                        .loginPage("/login.jsf")
                        .errorPage("/loginFailed.jsf")
            .forPath("/admin/*")
                .authorizeWith()
                    .role("Administrator");
    }
}
票数 2
EN

Stack Overflow用户

发布于 2014-07-31 23:23:24

正如前面所说的,AuthenticationFilter只涉及身份验证。

PicketLink团队正在开发一个完整的Security支持,它将为应用程序的URI提供角色和基于组的授权。

现在,我建议你创建自己的过滤器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24657169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档