首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安全EJB3.1-Webservice (在JBoss Wildflix8.2中)

安全EJB3.1-Webservice (在JBoss Wildflix8.2中)
EN

Stack Overflow用户
提问于 2016-06-29 07:44:33
回答 1查看 323关注 0票数 0

我有一个即将完成的web项目,EJB3.1作为WAR部署在Wildfli8.2中。它由一个带有表单身份验证(auth-method FORM)的自写JAAS-领域来保护。

现在,我想添加一个EJB-Webservice,它基本上被定义为

代码语言:javascript
复制
@Stateless
@WebService
public class ProductImportWebservice {
    @Resource 
    WebServiceContext wsContext;

    [...]

    @WebMethod
    public Product createOrFind(String name) {
       [...]
    }
}

webservice如预期的那样工作,但现在我遇到了问题,我想通过用户名/密码来保护对Webservice的访问。因此,我注释了webservice或@WebMethod

代码语言:javascript
复制
@RolesAllowed("ADMIN")

这是JAAS-身份验证中的一个有效角色。效果: SOAP-client获得answere "reqeust不允许/未验证“-但没有身份验证-请求和尝试与基本身份验证被忽略。如果我将webservice的URL添加到web.xml中的安全约束中,就会得到一个身份验证请求.但现在的问题是,这是基于表单的认证--这是一个拥有浏览器的用户所期望的。这对于“普通”SOAP客户端来说是不可用的:-(

现在的具体问题是:是否有一种方法既可以对webservice进行基本身份验证,也可以为应用程序的其余部分提供基于表单的身份验证?

我看到的唯一其他方法是将WAR包拆分成一个EAR包,并在不同的web上下文中部署webservice。

EN

回答 1

Stack Overflow用户

发布于 2016-06-29 07:58:24

现在的具体问题是:是否有一种方法既可以对webservice进行基本身份验证,也可以为应用程序的其余部分提供基于表单的身份验证?

对于同一个web应用程序,不能同时使用FORMBASIC身份验证。

如果需要这样做,请使用共享代码库创建两个单独的应用程序。

参考资料:

https://docs.oracle.com/javaee/7/tutorial/security-webtier002.htm#JEETT01227

auth-method子元素配置web应用程序的身份验证机制。元素内容必须是“无”、“基本”、“摘要”、“形式”或“客户端-CERT”。

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

https://stackoverflow.com/questions/38093339

复制
相关文章

相似问题

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