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上使用已经建立的安全框架。