首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 6中的编程认证

Java 6中的编程认证
EN

Stack Overflow用户
提问于 2010-05-14 09:20:45
回答 3查看 4.6K关注 0票数 4

能否在Java 6中以编程方式对用户进行身份验证?

让我更详细地解释一下:

我有一个现有的带有Servlets和hibernate的Java项目;在这里,我手动管理所有的身份验证和访问控制:

代码语言:javascript
复制
class Authenticator {
    int Id
    string username
}

Authenticator login(string username, string password) ;

void doListData(Authenticator auth) {
    if (isLoggedIn(auth)) listData();
    else doListError
}

void doUpdateData (Authenticator auth) {
    if (isLoggedAsAdmin(auth)) updateData() ;
    else doListError();
}

void doListError () {
    listError() ;
}

并集成J2ee/jpa/servlet 3/.(玻璃鱼3)在这个项目中。

我见过类似的例子:

代码语言:javascript
复制
@RolesAllowed ("viewer")
void doListdata (...) {
    istData() ;
}

@RolesAllowed("admin")
void doUpdateData (...) {
    updateData() ;
}

@PermotAll
void dolisterror () {
    listerror() ;
}

但是,我如何在login()中手动声明我的用户处于管理和/或查看器角色中?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-14 09:35:28

嗨,这是在sun java ee 6教程中很好的报道。

票数 0
EN

Stack Overflow用户

发布于 2013-06-30 10:48:56

首先,确保您正在使用Servlet3.0/3.1。Servlet 2.4没有登录方法

代码语言:javascript
复制
    @WebServlet(name="LoginServlet", urlPatterns={"/LoginServlet"})
    public class TutorialServlet extends HttpServlet {
      protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        String user = request.getParameter("user");
        String password = request.getParameter("password");
        //TODO check is user and password not null

        try (PrintWriter out = response.getWriter();){
           request.login(user, password);
           //perhaps redirect to another page on success
        } catch (ServletException e) {
            //perhaps redirect to another page to login failure
            throw new ServletException(e);
        } 
      }
    }
票数 1
EN

Stack Overflow用户

发布于 2010-05-14 10:09:02

谢谢你的回答,我花了一段时间才明白,但你们都是对的,

代码语言:javascript
复制
login(java.lang.String user, java.lang.String password) 

是我想要做的。我不需要在用户中登录,而是需要登录一个特定的角色:

代码语言:javascript
复制
login("admin", "admin") ;
...

:)

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

https://stackoverflow.com/questions/2833018

复制
相关文章

相似问题

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