JBOSS 7中用于Weblogic的登录安全模块代码Authenticate.authenticate()
答案 0 :(得分:0)
我建议你仔细阅读JBOSS excellent migration guide 。
WebLogic提供了一个专有的ServletAuthentication类来执行程序化登录。在 JBoss AS 7 中,您可以使用 标准Java EE6 Servlet 3.0
HttpServletRequest.login()
方法执行编程登录,或者您可以定义web.xml
文件中的元素。要启用程序化登录,您必须 将WebLogic专有代码 替换为以下之一:
您可以将以下注释添加到执行身份验证的Servlet类中。
// Imports for annotations import javax.annotation.security.DeclareRoles; import javax.servlet.annotation.WebServlet; import javax.servlet.annotation.HttpConstraint; import javax.servlet.annotation.ServletSecurity; @WebServlet("/securedUrlPattern") @ServletSecurity(@HttpConstraint(rolesAllowed = { "myRole" })) @DeclareRoles("myRole") public class SecuredServlet extends HttpServlet { //Rest of code }
的另一个原因
- 如果您不想使用标准servlet,则可以在
web.xml
文件中添加包含虚拟URL模式的元素。这通知JBoss创建一个默认的Authenticator。如果未在web.xml
文件中创建元素,则可能会出现错误消息"没有可用于编程登录的身份验证器"。