mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
62 lines
1.3 KiB
Java
62 lines
1.3 KiB
Java
package com.commafeed.frontend;
|
|
|
|
import javax.inject.Inject;
|
|
|
|
import org.apache.wicket.Session;
|
|
import org.apache.wicket.authroles.authentication.AuthenticatedWebSession;
|
|
import org.apache.wicket.authroles.authorization.strategies.role.Roles;
|
|
import org.apache.wicket.request.Request;
|
|
|
|
import com.commafeed.backend.dao.UserRoleService;
|
|
import com.commafeed.backend.dao.UserService;
|
|
import com.commafeed.backend.model.User;
|
|
|
|
@SuppressWarnings("serial")
|
|
public class CommaFeedSession extends AuthenticatedWebSession {
|
|
|
|
@Inject
|
|
UserService userService;
|
|
|
|
@Inject
|
|
UserRoleService userRoleService;
|
|
|
|
private User user;
|
|
private Roles roles = new Roles();
|
|
|
|
public CommaFeedSession(Request request) {
|
|
super(request);
|
|
}
|
|
|
|
public User getUser() {
|
|
return user;
|
|
}
|
|
|
|
public void setUser(User user) {
|
|
this.user = user;
|
|
}
|
|
|
|
public static CommaFeedSession get() {
|
|
return (CommaFeedSession) Session.get();
|
|
}
|
|
|
|
@Override
|
|
public Roles getRoles() {
|
|
return roles;
|
|
}
|
|
|
|
@Override
|
|
public boolean authenticate(String userName, String password) {
|
|
User user = userService.login(userName, password);
|
|
if (user == null) {
|
|
this.user = null;
|
|
this.roles = new Roles();
|
|
} else {
|
|
this.user = user;
|
|
this.roles = new Roles(userRoleService.getRoles(user).toArray(
|
|
new String[0]));
|
|
}
|
|
return user != null;
|
|
}
|
|
|
|
}
|