Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jersey Api中的身份验证操作_Java_Security_Web_Service_Jersey - Fatal编程技术网

Java Jersey Api中的身份验证操作

Java Jersey Api中的身份验证操作,java,security,web,service,jersey,Java,Security,Web,Service,Jersey,你有没有关于认证的指导或建议,因为我不太明白到底发生了什么 我的实体类 @Entity @Table(name = "User") @XmlRootElement public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "userId", updatable = false, nullable = false) private long

你有没有关于认证的指导或建议,因为我不太明白到底发生了什么

我的实体类

@Entity
@Table(name = "User")
@XmlRootElement
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "userId", updatable = false, nullable = false)
    private long userId;

    @Column(name = "userName", nullable = false, unique = true, length = 89)
    private String userName;

    @Column(name = "userPassword", nullable = false, length = 34)
    private String userPassword;

    @JsonIgnore
    @OneToMany(mappedBy = "senderUser")
    private List<Message> outbox;

    @JsonIgnore
    @OneToMany(mappedBy = "receiverUser")
    private List<Message> inbox;
public class UserRepository {

private Session session;

public UserRepository() {
    session = HibernateUtil.getSessionFactory().openSession();
}

public void close() {
    session.close();
}

public User save(User user) {
    session.beginTransaction().begin();
    session.save(user);
    session.beginTransaction().commit();
    return user;

}

public User update(User user) {
    session.beginTransaction().begin();
    session.update(user);
    session.beginTransaction().commit();
    return user;
}

public User get(long userId) {
    session.beginTransaction().begin();
    User user = (User) session.get(User.class, userId);
    session.beginTransaction().commit();
    return user;
}

public boolean delete(long userId) {
    session.beginTransaction().begin();
    User user = get(userId);
    session.delete(user);
    user = get(userId);
    session.beginTransaction().commit();
    return user == null;

}

public User login(User user) {
    session.beginTransaction().begin();
    Query query = session.createQuery("from User where userName = :userName and userPassword = :userPassword");
    query.setParameter("userName", user.getUserName());
    query.setParameter("userPassword", user.getUserPassword());
    session.beginTransaction().commit();
    return (User) query.uniqueResult();
}

@SuppressWarnings("unchecked")
public List<User> list() {
    Query query = session.createQuery("from User");
    return query.list();
}
public class UserResource {

    UserRepository userRepository = new UserRepository();

    public User save(User user) {
        return userRepository.save(user);
    }

    public User update(User user) {
        return userRepository.update(user);
    }

    public User get(long userId) {
        return userRepository.get(userId);
    }

    public boolean delete(long userId) {
        boolean result = userRepository.delete(userId);
        if (result) {
            return true;
        } else {
            return false;
        }
    }

    public List<User> list() {
        return userRepository.list();
    }

    public User login(User user) {
        return userRepository.login(user);
    }
@Path("user")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class UserService {

    UserResource userResource = new UserResource();

    @GET
    @Path("{userId}")
    public User get(@PathParam("userId") long userId) {
        return userResource.get(userId);
    }

    @POST
    public User save(User user) {
        return userResource.save(user);
    }

    @PUT
    @Path("{userId}")
    public User update(User user, @PathParam("userId") long userId) {
        user.setUserId(userId);
        return userResource.update(user);

    }

    @DELETE
    @Path("{userId}")
    public boolean delete(@PathParam("userId") long userId) {
        return userResource.delete(userId);
    }



     @GET
     @Produces(MediaType.APPLICATION_ATOM_XML)
     public List<User> list() {
     return userResource.list();

     }

    @POST
    @Path("login.json")
    public User login(User user) {
        return userResource.login(user);

    }
@实体
@表(name=“User”)
@XmlRootElement
公共类用户{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
@列(name=“userId”,updateable=false,nullable=false)
私有长用户ID;
@列(name=“userName”,nullable=false,unique=true,length=89)
私有字符串用户名;
@列(name=“userPassword”,null=false,长度=34)
私有字符串用户密码;
@杰索尼奥雷
@OneToMany(mappedBy=“senderUser”)
私人列表发件箱;
@杰索尼奥雷
@OneToMany(mappedBy=“接收方用户”)
私人列表收件箱;
我的存储库类

@Entity
@Table(name = "User")
@XmlRootElement
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "userId", updatable = false, nullable = false)
    private long userId;

    @Column(name = "userName", nullable = false, unique = true, length = 89)
    private String userName;

    @Column(name = "userPassword", nullable = false, length = 34)
    private String userPassword;

    @JsonIgnore
    @OneToMany(mappedBy = "senderUser")
    private List<Message> outbox;

    @JsonIgnore
    @OneToMany(mappedBy = "receiverUser")
    private List<Message> inbox;
public class UserRepository {

private Session session;

public UserRepository() {
    session = HibernateUtil.getSessionFactory().openSession();
}

public void close() {
    session.close();
}

public User save(User user) {
    session.beginTransaction().begin();
    session.save(user);
    session.beginTransaction().commit();
    return user;

}

public User update(User user) {
    session.beginTransaction().begin();
    session.update(user);
    session.beginTransaction().commit();
    return user;
}

public User get(long userId) {
    session.beginTransaction().begin();
    User user = (User) session.get(User.class, userId);
    session.beginTransaction().commit();
    return user;
}

public boolean delete(long userId) {
    session.beginTransaction().begin();
    User user = get(userId);
    session.delete(user);
    user = get(userId);
    session.beginTransaction().commit();
    return user == null;

}

public User login(User user) {
    session.beginTransaction().begin();
    Query query = session.createQuery("from User where userName = :userName and userPassword = :userPassword");
    query.setParameter("userName", user.getUserName());
    query.setParameter("userPassword", user.getUserPassword());
    session.beginTransaction().commit();
    return (User) query.uniqueResult();
}

@SuppressWarnings("unchecked")
public List<User> list() {
    Query query = session.createQuery("from User");
    return query.list();
}
public class UserResource {

    UserRepository userRepository = new UserRepository();

    public User save(User user) {
        return userRepository.save(user);
    }

    public User update(User user) {
        return userRepository.update(user);
    }

    public User get(long userId) {
        return userRepository.get(userId);
    }

    public boolean delete(long userId) {
        boolean result = userRepository.delete(userId);
        if (result) {
            return true;
        } else {
            return false;
        }
    }

    public List<User> list() {
        return userRepository.list();
    }

    public User login(User user) {
        return userRepository.login(user);
    }
@Path("user")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class UserService {

    UserResource userResource = new UserResource();

    @GET
    @Path("{userId}")
    public User get(@PathParam("userId") long userId) {
        return userResource.get(userId);
    }

    @POST
    public User save(User user) {
        return userResource.save(user);
    }

    @PUT
    @Path("{userId}")
    public User update(User user, @PathParam("userId") long userId) {
        user.setUserId(userId);
        return userResource.update(user);

    }

    @DELETE
    @Path("{userId}")
    public boolean delete(@PathParam("userId") long userId) {
        return userResource.delete(userId);
    }



     @GET
     @Produces(MediaType.APPLICATION_ATOM_XML)
     public List<User> list() {
     return userResource.list();

     }

    @POST
    @Path("login.json")
    public User login(User user) {
        return userResource.login(user);

    }
公共类用户存储库{
非公开会议;
公共用户存储库(){
session=HibernateUtil.getSessionFactory().openSession();
}
公众假期结束(){
session.close();
}
公共用户保存(用户){
session.beginTransaction().begin();
session.save(用户);
session.beginTransaction().commit();
返回用户;
}
公共用户更新(用户){
session.beginTransaction().begin();
会话更新(用户);
session.beginTransaction().commit();
返回用户;
}
公共用户get(长用户ID){
session.beginTransaction().begin();
User=(User)session.get(User.class,userId);
session.beginTransaction().commit();
返回用户;
}
公共布尔删除(长用户ID){
session.beginTransaction().begin();
User=get(userId);
删除(用户);
user=get(userId);
session.beginTransaction().commit();
返回user==null;
}
公共用户登录(用户){
session.beginTransaction().begin();
Query Query=session.createQuery(“来自用户名=:用户名和用户密码=:用户密码的用户”);
query.setParameter(“用户名”,user.getUserName());
query.setParameter(“userPassword”,user.getUserPassword());
session.beginTransaction().commit();
return(User)query.uniqueResult();
}
@抑制警告(“未选中”)
公开名单(){
Query Query=session.createQuery(“来自用户”);
返回query.list();
}
我的资源类

@Entity
@Table(name = "User")
@XmlRootElement
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "userId", updatable = false, nullable = false)
    private long userId;

    @Column(name = "userName", nullable = false, unique = true, length = 89)
    private String userName;

    @Column(name = "userPassword", nullable = false, length = 34)
    private String userPassword;

    @JsonIgnore
    @OneToMany(mappedBy = "senderUser")
    private List<Message> outbox;

    @JsonIgnore
    @OneToMany(mappedBy = "receiverUser")
    private List<Message> inbox;
public class UserRepository {

private Session session;

public UserRepository() {
    session = HibernateUtil.getSessionFactory().openSession();
}

public void close() {
    session.close();
}

public User save(User user) {
    session.beginTransaction().begin();
    session.save(user);
    session.beginTransaction().commit();
    return user;

}

public User update(User user) {
    session.beginTransaction().begin();
    session.update(user);
    session.beginTransaction().commit();
    return user;
}

public User get(long userId) {
    session.beginTransaction().begin();
    User user = (User) session.get(User.class, userId);
    session.beginTransaction().commit();
    return user;
}

public boolean delete(long userId) {
    session.beginTransaction().begin();
    User user = get(userId);
    session.delete(user);
    user = get(userId);
    session.beginTransaction().commit();
    return user == null;

}

public User login(User user) {
    session.beginTransaction().begin();
    Query query = session.createQuery("from User where userName = :userName and userPassword = :userPassword");
    query.setParameter("userName", user.getUserName());
    query.setParameter("userPassword", user.getUserPassword());
    session.beginTransaction().commit();
    return (User) query.uniqueResult();
}

@SuppressWarnings("unchecked")
public List<User> list() {
    Query query = session.createQuery("from User");
    return query.list();
}
public class UserResource {

    UserRepository userRepository = new UserRepository();

    public User save(User user) {
        return userRepository.save(user);
    }

    public User update(User user) {
        return userRepository.update(user);
    }

    public User get(long userId) {
        return userRepository.get(userId);
    }

    public boolean delete(long userId) {
        boolean result = userRepository.delete(userId);
        if (result) {
            return true;
        } else {
            return false;
        }
    }

    public List<User> list() {
        return userRepository.list();
    }

    public User login(User user) {
        return userRepository.login(user);
    }
@Path("user")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class UserService {

    UserResource userResource = new UserResource();

    @GET
    @Path("{userId}")
    public User get(@PathParam("userId") long userId) {
        return userResource.get(userId);
    }

    @POST
    public User save(User user) {
        return userResource.save(user);
    }

    @PUT
    @Path("{userId}")
    public User update(User user, @PathParam("userId") long userId) {
        user.setUserId(userId);
        return userResource.update(user);

    }

    @DELETE
    @Path("{userId}")
    public boolean delete(@PathParam("userId") long userId) {
        return userResource.delete(userId);
    }



     @GET
     @Produces(MediaType.APPLICATION_ATOM_XML)
     public List<User> list() {
     return userResource.list();

     }

    @POST
    @Path("login.json")
    public User login(User user) {
        return userResource.login(user);

    }
公共类用户资源{
UserRepository UserRepository=新的UserRepository();
公共用户保存(用户){
返回userRepository.save(用户);
}
公共用户更新(用户){
返回userRepository.update(用户);
}
公共用户get(长用户ID){
返回userRepository.get(userId);
}
公共布尔删除(长用户ID){
布尔结果=userRepository.delete(userId);
如果(结果){
返回true;
}否则{
返回false;
}
}
公开名单(){
返回userRepository.list();
}
公共用户登录(用户){
返回userRepository.login(用户);
}
我的服务级别

@Entity
@Table(name = "User")
@XmlRootElement
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "userId", updatable = false, nullable = false)
    private long userId;

    @Column(name = "userName", nullable = false, unique = true, length = 89)
    private String userName;

    @Column(name = "userPassword", nullable = false, length = 34)
    private String userPassword;

    @JsonIgnore
    @OneToMany(mappedBy = "senderUser")
    private List<Message> outbox;

    @JsonIgnore
    @OneToMany(mappedBy = "receiverUser")
    private List<Message> inbox;
public class UserRepository {

private Session session;

public UserRepository() {
    session = HibernateUtil.getSessionFactory().openSession();
}

public void close() {
    session.close();
}

public User save(User user) {
    session.beginTransaction().begin();
    session.save(user);
    session.beginTransaction().commit();
    return user;

}

public User update(User user) {
    session.beginTransaction().begin();
    session.update(user);
    session.beginTransaction().commit();
    return user;
}

public User get(long userId) {
    session.beginTransaction().begin();
    User user = (User) session.get(User.class, userId);
    session.beginTransaction().commit();
    return user;
}

public boolean delete(long userId) {
    session.beginTransaction().begin();
    User user = get(userId);
    session.delete(user);
    user = get(userId);
    session.beginTransaction().commit();
    return user == null;

}

public User login(User user) {
    session.beginTransaction().begin();
    Query query = session.createQuery("from User where userName = :userName and userPassword = :userPassword");
    query.setParameter("userName", user.getUserName());
    query.setParameter("userPassword", user.getUserPassword());
    session.beginTransaction().commit();
    return (User) query.uniqueResult();
}

@SuppressWarnings("unchecked")
public List<User> list() {
    Query query = session.createQuery("from User");
    return query.list();
}
public class UserResource {

    UserRepository userRepository = new UserRepository();

    public User save(User user) {
        return userRepository.save(user);
    }

    public User update(User user) {
        return userRepository.update(user);
    }

    public User get(long userId) {
        return userRepository.get(userId);
    }

    public boolean delete(long userId) {
        boolean result = userRepository.delete(userId);
        if (result) {
            return true;
        } else {
            return false;
        }
    }

    public List<User> list() {
        return userRepository.list();
    }

    public User login(User user) {
        return userRepository.login(user);
    }
@Path("user")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class UserService {

    UserResource userResource = new UserResource();

    @GET
    @Path("{userId}")
    public User get(@PathParam("userId") long userId) {
        return userResource.get(userId);
    }

    @POST
    public User save(User user) {
        return userResource.save(user);
    }

    @PUT
    @Path("{userId}")
    public User update(User user, @PathParam("userId") long userId) {
        user.setUserId(userId);
        return userResource.update(user);

    }

    @DELETE
    @Path("{userId}")
    public boolean delete(@PathParam("userId") long userId) {
        return userResource.delete(userId);
    }



     @GET
     @Produces(MediaType.APPLICATION_ATOM_XML)
     public List<User> list() {
     return userResource.list();

     }

    @POST
    @Path("login.json")
    public User login(User user) {
        return userResource.login(user);

    }
@Path(“用户”)
@使用(MediaType.APPLICATION_JSON)
@产生(MediaType.APPLICATION_JSON)
公共类用户服务{
UserResource UserResource=new UserResource();
@得到
@路径(“{userId}”)
公共用户get(@PathParam(“userId”)long userId){
返回userResource.get(userId);
}
@职位
公共用户保存(用户){
返回userResource.save(用户);
}
@放
@路径(“{userId}”)
公共用户更新(用户用户,@PathParam(“用户ID”)长用户ID){
user.setUserId(userId);
返回userResource.update(用户);
}
@删除
@路径(“{userId}”)
公共布尔删除(@PathParam(“userId”)长userId){
返回userResource.delete(userId);
}
@得到
@产生(MediaType.APPLICATION\u ATOM\u XML)
公开名单(){
返回userResource.list();
}
@职位
@路径(“login.json”)
公共用户登录(用户){
返回userResource.login(用户);
}

Jersey提供的唯一服务器端安全性是Oauth 1.0。除此之外,您需要自己实现它,或者在Jersey上使用已经建立的安全框架。